Skip to content
A React Style API on UITableView, heavily influenced by ReactiveLists
Swift
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
Sources/ANReactiveTableKit
Tests
.gitignore
.swiftlint.yml
Package.swift
README.md

README.md

ANReactiveTableKit

A React-style API for UITableView heavily influenced by ReactiveLists.

ANReactiveTableKit is an experiment in providing a similar React-style API as ReactiveLists. It requires iOS 13+ to be able to use some of the latest APIs to simplify what ReactiveLists was attempting to do and eliminate the need for any third party dependencies.

After working on ReactiveLists at PlanGrid, I wanted to see if we could simplify the library by using the latest Apple APIs. To do this, this library requires iOS 13+, which is something ReactiveLists is unable to do at this time since it is used by customers on older iOS versions.

The primary additions I'm excited about are:

  • Using UITableViewDiffableDataSource, which lets us avoid having to think about diffing and batching update operations for the UITableView when data changes.
  • Using Combine, which allows us to inject a Subject, which provides a stream of values representing the data source for the UITableView.

Requirements

  • Xcode 11.0+
  • iOS 13+

Installation

This code is currently only available as a Swift Package. You can follow the instructions here to learn how to add a Swift Package to your project from Xcode.

Example Usage

See the ANReactiveTableKitExample repo for an example of using this library.

You can’t perform that action at this time.