A lightweight Swift library for building complex iOS table views with declarative, type-safe syntax.
TableKit is a Swift library for iOS that enables developers to build complex UITableViews using a declarative and type-safe approach. It abstracts the traditional UITableViewDataSource and UITableViewDelegate methods, allowing for cleaner code and reducing boilerplate. The library supports automatic cell registration, flexible height calculation, and extensible cell actions.
iOS developers building apps with table views who want to reduce boilerplate and leverage Swift's type safety for more maintainable UI code.
Developers choose TableKit for its lightweight design, declarative syntax, and strong type safety, which together simplify table view development while minimizing runtime errors and improving code readability.
Type-safe declarative table views.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Swift generics to ensure models map correctly to cells at compile time, reducing runtime errors, as demonstrated by TableRow<CellType> with specific item types.
Enables functional programming patterns with chainable actions like .on(.click), simplifying code structure and improving readability.
Handles registration from code, xib, or storyboard automatically when identifiers match, cutting setup boilerplate, though it can be disabled if needed.
Supports both self-sizing cells with estimatedHeight and prototype-based calculation via TableDirector, adapting to different cell complexities.
Does not support SwiftUI or cross-platform development, limiting its relevance for projects adopting Apple's newer frameworks.
Enabling prototype-based height calculation (shouldUsePrototypeCellHeightCalculation) can introduce performance overhead for large or complex tables.
Requires each cell to conform to ConfigurableCell with configure methods, adding initial setup code for every cell type, unlike more drop-in solutions.