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.
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)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.

