SwiftDataTables
A Swift Data Table package, display grid-like data sets in a nicely formatted table for iOS. Subclassing UICollectionView that allows ordering, and searching with extensible options.
Install / Use
/learn @pavankataria/SwiftDataTablesREADME

Shape the Roadmap
Vote for features — your votes decide what gets built next.
See the complete documentation →
Guides & API Reference
Explore the docs — step-by-step tutorials, real-world patterns, and complete API reference. From first table to production-ready.
Features
| 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 |
Quick Start
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.
Install
Swift Package Manager
dependencies: [
.package(url: "https://github.com/pavankataria/SwiftDataTables", from: "0.9.0")
]
Or in Xcode: File → Add Package Dependencies → https://github.com/pavankataria/SwiftDataTables
Demo App
- Clone the repo
- Open
SwiftDataTables.xcodeproj - Select the
DemoSwiftDataTablesscheme - Build and Run
Support
Author
Pavan Kataria — @pavan_kataria
License
MIT License. See LICENSE for details.
