Skip to content

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.

License

Notifications You must be signed in to change notification settings

pavankataria/SwiftDataTables

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

302 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift DataTables

CI Status SPM Compatible Swift 5.9 iOS 17+

The powerful, flexible data table component that iOS deserves.

Display grid-like data with sorting, searching, and smooth animations — all in just a few lines of code.


Shape the Roadmap

Vote for features — your votes decide what gets built next.


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 →


Install

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/pavankataria/SwiftDataTables", from: "0.9.0")
]

Or in Xcode: File → Add Package Dependencieshttps://github.com/pavankataria/SwiftDataTables


Demo App

  1. Clone the repo
  2. Open SwiftDataTables.xcodeproj
  3. Select the DemoSwiftDataTables scheme
  4. Build and Run

Support

Sponsor on Open Collective


Author

Pavan Kataria@pavan_kataria

License

MIT License. See LICENSE for details.

About

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.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 8

Languages