Latest 1.5.1
License MIT
Platforms ios 8.0, requires ARC
Dependencies RBQFetchedResultsController, Realm

The ABFRealmTableViewController class is a subclass of UITableViewController but adds data binding to a Realm object class. The underlying UITableView will animate changes via use of RBQFetchedResultsController.

A Swift version was added with an identical API in v1.1.

To use, simply subclass ABFRealmTableViewController in the same way as UITableViewController and set the entityName property to the Realm object class name. Similar to an UITableView implementation, you will need to implement the necessary UITableViewControllerDelegate and UITableViewControllerDataSource protocols.

Starting with v1.5, the underlying data binding provided by RBQFetchedResultsController doesn’t require any use of custom Realm mutation methods since Realm supports fine-grained notifications directly. As a result, you can just use ABFRealmTableViewController alongside the normal Realm methods.


The example application is a basic todo list with an object model: TaskObject that the UITableView is bound to. When a new TaskObject is created, the row animates in, and likewise when the TaskObject is deleted the row animates out.

Todo List Backed By ABFRealmTableViewController


ABFRealmTableViewController is available through CocoaPods. To install
it, simply add the following line to your Podfile:


pod 'ABFRealmTableViewController'


pod 'RealmTableViewController'


Build and run/test the Example project in Xcode to see ABFRealmTableViewController in action. This project uses CocoaPods. If you don’t have CocoaPods installed, grab it with [sudo] gem install cocoapods.


git clone
cd ABFRealmTableViewController/ABFRealmTableViewControllerExample
pod install
open ABFRealmTableViewController.xcworkspace
  • iOS 8+
  • Xcode 6+


git clone
cd ABFRealmTableViewController/SwiftExample
pod install
open RealmTableViewController.xcworkspace
  • iOS 8+
  • Xcode 7

Latest podspec

    "name": "ABFRealmTableViewController",
    "version": "1.5.1",
    "summary": "Realm Data-Binding For UITableView",
    "description": "The ABFRealmTableViewController class is a subclass of UITableViewController but adds data-binding to an RLMObject subclass.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Adam Fish": "[email protected]"
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "v1.5.1"
    "source_files": "ABFRealmTableViewController/*.{h,m}",
    "requires_arc": true,
    "dependencies": {
        "RBQFetchedResultsController": [
            ">= 4.0.3"
        "Realm": [
            ">= 0.103.0"

Pin It on Pinterest

Share This