blob: c097511d651aa74386a95197e556fe1504a6c763 [file] [log] [blame]
{
"name": "BLResultsController",
"version": "1.2.9",
"summary": "BLResultsController is not a drop-in replacement for the `NSFetchedResultsController` to be used with Realm.",
"screenshots": "https://github.com/BellAppLab/BLResultsController/raw/master/Images/BLResultsController.png",
"description": "Contrary to popular belief, BLResultsController is **not** a drop-in replacement for the `NSFetchedResultsController` to be used with Realm. Oh no. It's _better_.\n\nA `ResultsController` takes a `Realm.Results` and divides its objects into sections based on the `sectionNameKeyPath` and the first `sortDescriptor`. It then calculates the relative positions of those objects and generates section indices and `IndexPath`s that are ready to be passed to `UITableView`s and `UICollectionView`s.\n\nBut **no expensive calculations are made on the main thread**. That's right. Everything is done in the background, so your UI will remain as smooth and responsive as always.\n\nAs with `Realm.Results`, the `ResultsController` is a live, auto-updating container that will keep notifying you of changes in the dataset for as long as you hold a strong reference to it. You register to receive those changes by calling `setChangeCallback(_:)` on your controller.\n\nChanges to the underlying dataset are calculated on a background queue, therefore the UI thread is not impacted by the `ResultsController`'s overhead.\n\n**Note**: As with `Realm` itself, the `ResultsController` is **not** thread-safe. You should only call most of its methods from the main thread.\n\n## Features\n\n- [X] Calculates everything on a **background thread**. 🏎\n- [X] No objects are retained, so memory footprint is minimal. 👾\n- [X] Calculates section index titles. 😲\n- [X] Allows for user-initiated search. 🕵️‍♀️🕵️‍♂️\n- [X] Most methods return in O(1). 😎\n- [X] Well documented. 🤓\n- [X] Well tested. 👩‍🔬👨‍🔬",
"homepage": "https://github.com/BellAppLab/BLResultsController",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": {
"Bell App Lab": "apps@bellapplab.com"
},
"social_media_url": "https://twitter.com/BellAppLab",
"swift_versions": "5.0",
"platforms": {
"ios": "9.0",
"osx": "10.11",
"tvos": "10.0"
},
"module_name": "BLResultsController",
"source": {
"git": "https://github.com/BellAppLab/BLResultsController.git",
"tag": "1.2.9"
},
"source_files": "BLResultsController/**/*.swift",
"frameworks": "Foundation",
"ios": {
"frameworks": "UIKit"
},
"osx": {
"frameworks": "AppKit"
},
"tvos": {
"frameworks": "UIKit"
},
"dependencies": {
"RealmSwift": [
"~> 3.0"
],
"BackgroundRealm": [
"~> 1.0"
]
},
"swift_version": "5.0"
}