CI Status SPM Compatible Swift 5.9 iOS 17+
Display grid-like data with sorting, searching, and smooth animations — all in just a few lines of code.
Vote for features — your votes decide what gets built next.
See the complete documentation →
Explore the docs — step-by-step tutorials, real-world patterns, and complete API reference. From first table to production-ready.
| Feature | Description |
|---|---|
| Type-Safe Columns | Declarative API with key paths and custom transforms |
| Animated Diffing | Smooth updates that calculate exactly what changed |
| Self-Sizing Cells | Automatic row heights, efficient for 100k+ rows |
| 928x Faster | 50,000 rows in 0.25s (was 4+ minutes) |
| Custom Cells | Full Auto Layout support via cell providers |
| Fixed Columns | Freeze columns on left or right sides |
| Sorting & Search | Built-in or native navigation bar search |
import SwiftDataTables struct Employee: Identifiable { let id: String let name: String let role: String } let columns: [DataTableColumn<Employee>] = [ .init("Name", \.name), .init("Role", \.role) ] let dataTable = SwiftDataTable(columns: columns) dataTable.setData(employees, animatingDifferences: true)
See the full documentation → — step-by-step tutorials, real-world patterns, and complete API reference. From first table to production-ready.
dependencies: [ .package(url: "https://github.com/pavankataria/SwiftDataTables", from: "0.9.0") ]
Or in Xcode: File → Add Package Dependencies → https://github.com/pavankataria/SwiftDataTables
- Clone the repo
- Open
SwiftDataTables.xcodeproj - Select the
DemoSwiftDataTablesscheme - Build and Run
Pavan Kataria — @pavan_kataria
MIT License. See LICENSE for details.