diff --git a/README.md b/README.md index 279a409cb..9e344eb1d 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,8 @@ github "Instagram/IGListKit" ~> 3.0 You can find [the docs here](https://instagram.github.io/IGListKit). Documentation is generated with [jazzy](https://github.com/realm/jazzy) and hosted on [GitHub-Pages](https://pages.github.com). +To regenerate docs, run `./scripts/build_docs.sh` from the root directory in the repo. + ## Vision For the long-term goals and "vision" of `IGListKit`, please read our [Vision](https://github.com/Instagram/IGListKit/blob/master/Guides/VISION.md) doc. @@ -93,7 +95,7 @@ For the long-term goals and "vision" of `IGListKit`, please read our [Vision](ht Please see the [CONTRIBUTING](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md) file for how to help. At Instagram, we sync the open source version of `IGListKit` daily, so we're always testing the latest changes. But that requires all changes be thoroughly tested and follow our style guide. -We have a set of [starter tasks](https://github.com/Instagram/IGListKit/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task) that are great for beginners to jump in on and start contributing. +We have a set of [starter tasks](https://github.com/Instagram/IGListKit/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task) that are great for beginners to jump in on and start contributing. ## License diff --git a/docs/Categories.html b/docs/Categories.html index 1a8437af4..658fd3a49 100644 --- a/docs/Categories.html +++ b/docs/Categories.html @@ -307,8 +307,8 @@

Declaration

diff --git a/docs/Classes.html b/docs/Classes.html index 8441f1d2c..e03eb935a 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -827,8 +827,8 @@

Declaration

diff --git a/docs/Classes/IGListAdapter.html b/docs/Classes/IGListAdapter.html index bf43c06cd..fa3a69d6d 100644 --- a/docs/Classes/IGListAdapter.html +++ b/docs/Classes/IGListAdapter.html @@ -1454,8 +1454,8 @@

Return Value

diff --git a/docs/Classes/IGListAdapterUpdater.html b/docs/Classes/IGListAdapterUpdater.html index 83a2bc567..8e574bc2b 100644 --- a/docs/Classes/IGListAdapterUpdater.html +++ b/docs/Classes/IGListAdapterUpdater.html @@ -386,8 +386,8 @@

Declaration

diff --git a/docs/Classes/IGListBatchUpdateData.html b/docs/Classes/IGListBatchUpdateData.html index 2a5c26ec9..a414a5a13 100644 --- a/docs/Classes/IGListBatchUpdateData.html +++ b/docs/Classes/IGListBatchUpdateData.html @@ -541,8 +541,8 @@

Return Value

diff --git a/docs/Classes/IGListBindingSectionController.html b/docs/Classes/IGListBindingSectionController.html index 3356f7bb8..05950d28c 100644 --- a/docs/Classes/IGListBindingSectionController.html +++ b/docs/Classes/IGListBindingSectionController.html @@ -452,8 +452,8 @@

Parameters

diff --git a/docs/Classes/IGListCollectionViewLayout.html b/docs/Classes/IGListCollectionViewLayout.html index 0952496e6..951e1f9a8 100644 --- a/docs/Classes/IGListCollectionViewLayout.html +++ b/docs/Classes/IGListCollectionViewLayout.html @@ -412,8 +412,8 @@

Return Value

diff --git a/docs/Classes/IGListGenericSectionController.html b/docs/Classes/IGListGenericSectionController.html index c40812d5b..fb05cfe5d 100644 --- a/docs/Classes/IGListGenericSectionController.html +++ b/docs/Classes/IGListGenericSectionController.html @@ -344,8 +344,8 @@

Parameters

diff --git a/docs/Classes/IGListIndexPathResult.html b/docs/Classes/IGListIndexPathResult.html index 264ec5b8c..fe44c689c 100644 --- a/docs/Classes/IGListIndexPathResult.html +++ b/docs/Classes/IGListIndexPathResult.html @@ -573,8 +573,8 @@

Declaration

diff --git a/docs/Classes/IGListIndexSetResult.html b/docs/Classes/IGListIndexSetResult.html index ddf87d691..1a6157c4b 100644 --- a/docs/Classes/IGListIndexSetResult.html +++ b/docs/Classes/IGListIndexSetResult.html @@ -570,8 +570,8 @@

Declaration

diff --git a/docs/Classes/IGListMoveIndex.html b/docs/Classes/IGListMoveIndex.html index f175d9672..e4d5269ce 100644 --- a/docs/Classes/IGListMoveIndex.html +++ b/docs/Classes/IGListMoveIndex.html @@ -321,8 +321,8 @@

Declaration

diff --git a/docs/Classes/IGListMoveIndexPath.html b/docs/Classes/IGListMoveIndexPath.html index 53e003f0e..1363a8e18 100644 --- a/docs/Classes/IGListMoveIndexPath.html +++ b/docs/Classes/IGListMoveIndexPath.html @@ -321,8 +321,8 @@

Declaration

diff --git a/docs/Classes/IGListSectionController.html b/docs/Classes/IGListSectionController.html index d568773a2..7a993d24e 100644 --- a/docs/Classes/IGListSectionController.html +++ b/docs/Classes/IGListSectionController.html @@ -562,7 +562,7 @@

Declaration

A context object for interacting with the collection.

-

Use this property for accessing the collection size, dequeing cells, reloading, inserting, deleting, etc.

+

Use this property for accessing the collection size, dequeuing cells, reloading, inserting, deleting, etc.

@@ -913,8 +913,8 @@

Return Value

diff --git a/docs/Classes/IGListSingleSectionController.html b/docs/Classes/IGListSingleSectionController.html index 1d3e4f846..309c8cbdc 100644 --- a/docs/Classes/IGListSingleSectionController.html +++ b/docs/Classes/IGListSingleSectionController.html @@ -552,8 +552,8 @@

Declaration

diff --git a/docs/Classes/IGListStackedSectionController.html b/docs/Classes/IGListStackedSectionController.html index 2d93ce441..848f63275 100644 --- a/docs/Classes/IGListStackedSectionController.html +++ b/docs/Classes/IGListStackedSectionController.html @@ -321,8 +321,8 @@

Parameters

diff --git a/docs/Constants.html b/docs/Constants.html index eb914b0b5..9537fc008 100644 --- a/docs/Constants.html +++ b/docs/Constants.html @@ -303,8 +303,8 @@

Declaration

diff --git a/docs/Enums.html b/docs/Enums.html index 54173d8c1..3107265fd 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -319,8 +319,8 @@

Declaration

diff --git a/docs/Enums/IGListDiffOption.html b/docs/Enums/IGListDiffOption.html index ea0523d2e..90042a7aa 100644 --- a/docs/Enums/IGListDiffOption.html +++ b/docs/Enums/IGListDiffOption.html @@ -320,8 +320,8 @@

Declaration

diff --git a/docs/Enums/IGListExperiment.html b/docs/Enums/IGListExperiment.html index 4edf38aae..65542bc44 100644 --- a/docs/Enums/IGListExperiment.html +++ b/docs/Enums/IGListExperiment.html @@ -264,7 +264,7 @@

IGListExperiment

-

Specifies no experiements.

+

Specifies no experiments.

@@ -288,8 +288,8 @@

Declaration

diff --git a/docs/Functions.html b/docs/Functions.html index efd69f40f..0cb1554a0 100644 --- a/docs/Functions.html +++ b/docs/Functions.html @@ -711,8 +711,8 @@

Return Value

diff --git a/docs/Guides.html b/docs/Guides.html index af9a08272..9fcd309b9 100644 --- a/docs/Guides.html +++ b/docs/Guides.html @@ -245,8 +245,8 @@

Guides

diff --git a/docs/Protocols.html b/docs/Protocols.html index 6505617b3..547befc39 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -508,7 +508,7 @@

Declaration

The collection context provides limited access to the collection-related information that -section controllers need for operations like sizing, dequeing cells, insterting, deleting, reloading, etc.

+section controllers need for operations like sizing, dequeuing cells, insterting, deleting, reloading, etc.

See more
@@ -763,8 +763,8 @@

Declaration

diff --git a/docs/Protocols/IGListAdapterDataSource.html b/docs/Protocols/IGListAdapterDataSource.html index a0f14ac91..bd0fc17f9 100644 --- a/docs/Protocols/IGListAdapterDataSource.html +++ b/docs/Protocols/IGListAdapterDataSource.html @@ -439,8 +439,8 @@

Return Value

diff --git a/docs/Protocols/IGListAdapterDelegate.html b/docs/Protocols/IGListAdapterDelegate.html index b6ac0f714..07ae95ca4 100644 --- a/docs/Protocols/IGListAdapterDelegate.html +++ b/docs/Protocols/IGListAdapterDelegate.html @@ -410,8 +410,8 @@

Parameters

diff --git a/docs/Protocols/IGListAdapterUpdaterDelegate.html b/docs/Protocols/IGListAdapterUpdaterDelegate.html index 55508b848..fbaaad550 100644 --- a/docs/Protocols/IGListAdapterUpdaterDelegate.html +++ b/docs/Protocols/IGListAdapterUpdaterDelegate.html @@ -1007,8 +1007,8 @@

Parameters

diff --git a/docs/Protocols/IGListBatchContext.html b/docs/Protocols/IGListBatchContext.html index 737361dcc..45aa719e1 100644 --- a/docs/Protocols/IGListBatchContext.html +++ b/docs/Protocols/IGListBatchContext.html @@ -582,8 +582,8 @@

Parameters

diff --git a/docs/Protocols/IGListBindable.html b/docs/Protocols/IGListBindable.html index b74255071..2f7efd0df 100644 --- a/docs/Protocols/IGListBindable.html +++ b/docs/Protocols/IGListBindable.html @@ -313,8 +313,8 @@

Parameters

diff --git a/docs/Protocols/IGListBindingSectionControllerDataSource.html b/docs/Protocols/IGListBindingSectionControllerDataSource.html index 758a2cf4f..bcf2b86b2 100644 --- a/docs/Protocols/IGListBindingSectionControllerDataSource.html +++ b/docs/Protocols/IGListBindingSectionControllerDataSource.html @@ -490,8 +490,8 @@

Return Value

diff --git a/docs/Protocols/IGListBindingSectionControllerSelectionDelegate.html b/docs/Protocols/IGListBindingSectionControllerSelectionDelegate.html index 0187d11a1..0ceaa7e28 100644 --- a/docs/Protocols/IGListBindingSectionControllerSelectionDelegate.html +++ b/docs/Protocols/IGListBindingSectionControllerSelectionDelegate.html @@ -295,7 +295,7 @@

Parameters

-

The section controller the selection occured in.

+

The section controller the selection occurred in.

@@ -334,8 +334,8 @@

Parameters

diff --git a/docs/Protocols/IGListCollectionContext.html b/docs/Protocols/IGListCollectionContext.html index 13e54fb20..ca7a314a3 100644 --- a/docs/Protocols/IGListCollectionContext.html +++ b/docs/Protocols/IGListCollectionContext.html @@ -246,7 +246,7 @@

IGListCollectionContext

The collection context provides limited access to the collection-related information that -section controllers need for operations like sizing, dequeing cells, insterting, deleting, reloading, etc.

+section controllers need for operations like sizing, dequeuing cells, insterting, deleting, reloading, etc.

@@ -1505,8 +1505,8 @@

Parameters

diff --git a/docs/Protocols/IGListDiffable.html b/docs/Protocols/IGListDiffable.html index 9cc83b912..2a76ecf57 100644 --- a/docs/Protocols/IGListDiffable.html +++ b/docs/Protocols/IGListDiffable.html @@ -359,8 +359,8 @@

Return Value

diff --git a/docs/Protocols/IGListDisplayDelegate.html b/docs/Protocols/IGListDisplayDelegate.html index 57463e09f..6690a571f 100644 --- a/docs/Protocols/IGListDisplayDelegate.html +++ b/docs/Protocols/IGListDisplayDelegate.html @@ -548,8 +548,8 @@

Parameters

diff --git a/docs/Protocols/IGListScrollDelegate.html b/docs/Protocols/IGListScrollDelegate.html index 6cf1738fa..dd5c79692 100644 --- a/docs/Protocols/IGListScrollDelegate.html +++ b/docs/Protocols/IGListScrollDelegate.html @@ -437,8 +437,8 @@

Parameters

diff --git a/docs/Protocols/IGListSingleSectionControllerDelegate.html b/docs/Protocols/IGListSingleSectionControllerDelegate.html index be7cd8d95..0dc345d6d 100644 --- a/docs/Protocols/IGListSingleSectionControllerDelegate.html +++ b/docs/Protocols/IGListSingleSectionControllerDelegate.html @@ -316,8 +316,8 @@

Parameters

diff --git a/docs/Protocols/IGListSupplementaryViewSource.html b/docs/Protocols/IGListSupplementaryViewSource.html index 98094f069..d73a90805 100644 --- a/docs/Protocols/IGListSupplementaryViewSource.html +++ b/docs/Protocols/IGListSupplementaryViewSource.html @@ -422,8 +422,8 @@

Return Value

diff --git a/docs/Protocols/IGListUpdatingDelegate.html b/docs/Protocols/IGListUpdatingDelegate.html index 5481b36a0..74aad91f5 100644 --- a/docs/Protocols/IGListUpdatingDelegate.html +++ b/docs/Protocols/IGListUpdatingDelegate.html @@ -912,8 +912,8 @@

Parameters

diff --git a/docs/Protocols/IGListWorkingRangeDelegate.html b/docs/Protocols/IGListWorkingRangeDelegate.html index ac0fcaedb..c218f623f 100644 --- a/docs/Protocols/IGListWorkingRangeDelegate.html +++ b/docs/Protocols/IGListWorkingRangeDelegate.html @@ -379,8 +379,8 @@

Parameters

diff --git a/docs/Type Definitions.html b/docs/Type Definitions.html index e8876a266..03ac14a7e 100644 --- a/docs/Type Definitions.html +++ b/docs/Type Definitions.html @@ -571,8 +571,8 @@

Declaration

diff --git a/docs/best-practices-and-faq.html b/docs/best-practices-and-faq.html index 5d2da08d3..4d7e559d5 100644 --- a/docs/best-practices-and-faq.html +++ b/docs/best-practices-and-faq.html @@ -300,9 +300,9 @@

How can I manage cell selection and deselection?

See discussion at #184.

-

I have a huge data set and -peformUpdatesAnimated: completion: is super slow. What do I do?

+

I have a huge data set and -performUpdatesAnimated: completion: is super slow. What do I do?

-

If you have multiple thousands of items and you cannot batch them in, you’ll see performance issues with -peformUpdatesAnimated: completion:. The real bottle neck behind the scenes here is UICollectionView attempting to insert so many cells at once. Instead, call -reloadDataWithCompletion: when you first load data, which will be super fast. Behind the scenes, this method does not do any diffing and simply calls -reloadData on UICollectionView. For subsequent updates, you can then use -peformUpdatesAnimated: completion:.

+

If you have multiple thousands of items and you cannot batch them in, you’ll see performance issues with -performUpdatesAnimated: completion:. The real bottle neck behind the scenes here is UICollectionView attempting to insert so many cells at once. Instead, call -reloadDataWithCompletion: when you first load data. Behind the scenes, this method does not do any diffing and simply calls -reloadData on UICollectionView. For subsequent updates, you can then use -performUpdatesAnimated: completion:.

How do I use IGListKit and estimated cell sizes with Auto Layout?

This should work in theory, and we have an example section controller, but the estimated-size API in UICollectionViewFlowLayout has changed dramatically over different iOS versions, making first-class support in IGListKit difficult. We don’t use estimated cell sizes or Auto Layout in Instagram and cannot commit to fully supporting it.

@@ -344,7 +344,7 @@

Sh

IGListKit does still use UICollectionView‘s cell reuse, so you shouldn’t be concerned about performance.

Why does UICollectionViewFlowLayout put everything in a new row?

-

UICollectionViewFlowLayout has its limitations, and its not well designed to support sections on the same line. Instead you should use IGListCollectionViewLayout.

+

UICollectionViewFlowLayout has its limitations, and it’s not well designed to support sections on the same line. Instead you should use IGListCollectionViewLayout.

What if I just want a section controller and don’t need the object?

Feel free to use a static string or number as your model. You can use this object as a key to find your section controller. Take a look at our example of this.

@@ -373,8 +373,8 @@

Creating the UI

let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) let updater = ListAdapterUpdater() -let adapter = ListAdapter(updater: updater, viewController: self, workingRangeSize: 0) +let adapter = ListAdapter(updater: updater, viewController: self) adapter.collectionView = collectionView @@ -380,8 +380,8 @@

Custom Updaters

diff --git a/docs/iglistdiffable-and-equality.html b/docs/iglistdiffable-and-equality.html index 06ce8bf96..fa791bbc2 100644 --- a/docs/iglistdiffable-and-equality.html +++ b/docs/iglistdiffable-and-equality.html @@ -268,7 +268,7 @@

Writing better Equality @@ -331,8 +331,8 @@

Getting Started

Documentation

You can find the docs here. Documentation is generated with jazzy and hosted on GitHub-Pages.

+ +

To regenerate docs, run ./scripts/build_docs.sh from the root directory in the repo.

Vision

-

For the long term goals and vision of IGListKit, please read our Vision doc.

+

For the long-term goals and vision of IGListKit, please read our Vision doc.

Contributing

-

Please see the CONTRIBUTING file for how to help out. At Instagram we sync the open source version of IGListKit daily, so we’re always testing the latest changes. But that requires all changes be thoroughly tested and follow our style guide.

+

Please see the CONTRIBUTING file for how to help. At Instagram, we sync the open source version of IGListKit daily, so we’re always testing the latest changes. But that requires all changes be thoroughly tested and follow our style guide.

+ +

We have a set of starter tasks that are great for beginners to jump in on and start contributing.

License

IGListKit is BSD-licensed. We also provide an additional patent grant.

@@ -367,8 +371,8 @@

License

diff --git a/docs/installation.html b/docs/installation.html index edb7167da..b2a559dd7 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -277,8 +277,8 @@

Carthage

diff --git a/docs/migration.html b/docs/migration.html index e83dfcec1..a0c50137d 100644 --- a/docs/migration.html +++ b/docs/migration.html @@ -250,7 +250,7 @@

From 2.x to 3.x

IG prefix removed for Swift

-

We have improved how IGListKit APIs get imported into Swift. The IG prefix has been removed for Swift clients. For example, IGListSectionController becomes ListSectionController instead. Along with other interoperability improvements, this should make IGListKit feel more swifty.

+

We have improved how IGListKit APIs get imported into Swift. The IG prefix has been removed for Swift clients. For example, IGListSectionController becomes ListSectionController instead. Along with other interoperability improvements, this makes IGListKit more readable in Swift.

To migrate, use Xcode’s Find navigator (command-3), search for IGList, and replace with List.

IGListSectionType removed

@@ -310,7 +310,7 @@

IGListDiffab diff --git a/docs/search.json b/docs/search.json index 676f06de5..2fc412cd2 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Functions.html#/c:@F@IGListDiff":{"name":"IGListDiff","abstract":"

Creates a diff using indexes between two collections.

"},"Functions.html#/c:@F@IGListDiffPaths":{"name":"IGListDiffPaths","abstract":"

Creates a diff using index paths between two collections.

"},"Functions.html#/c:IGListExperiments.h@F@IGListExperimentEnabled":{"name":"IGListExperimentEnabled","abstract":"

Check if an experiment is enabled in a bitmask.

"},"Functions.html#/c:@F@IGListDiffExperiment":{"name":"IGListDiffExperiment","abstract":"

Performs an index diff with an experiment bitmask.

"},"Functions.html#/c:@F@IGListDiffPathsExperiment":{"name":"IGListDiffPathsExperiment","abstract":"

Performs a index path diff with an experiment bitmask.

"},"Type Definitions.html#/c:IGListAdapter.h@T@IGListUpdaterCompletion":{"name":"IGListUpdaterCompletion","abstract":"

A block to execute when the list updates are completed.

"},"Type Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellConfigureBlock":{"name":"IGListSingleSectionCellConfigureBlock","abstract":"

A block used to configure cells.

"},"Type Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellSizeBlock":{"name":"IGListSingleSectionCellSizeBlock","abstract":"

A block that returns the size for the cell given the collection context.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListUpdatingCompletion":{"name":"IGListUpdatingCompletion","abstract":"

A completion block to execute when updates are finished.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListObjectTransitionBlock":{"name":"IGListObjectTransitionBlock","abstract":"

A block to be called when the adapter applies changes to the collection view.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListItemUpdateBlock":{"name":"IGListItemUpdateBlock","abstract":"

A block that contains all of the updates.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListReloadUpdateBlock":{"name":"IGListReloadUpdateBlock","abstract":"

A block to be called when an adapter reloads the collection view.

"},"Protocols/IGListWorkingRangeDelegate.html#/c:objc(pl)IGListWorkingRangeDelegate(im)listAdapter:sectionControllerWillEnterWorkingRange:":{"name":"-listAdapter:sectionControllerWillEnterWorkingRange:","abstract":"

Notifies the delegate that an section controller will enter the working range.

","parent_name":"IGListWorkingRangeDelegate"},"Protocols/IGListWorkingRangeDelegate.html#/c:objc(pl)IGListWorkingRangeDelegate(im)listAdapter:sectionControllerDidExitWorkingRange:":{"name":"-listAdapter:sectionControllerDidExitWorkingRange:","abstract":"

Notifies the delegate that an section controller exited the working range.

","parent_name":"IGListWorkingRangeDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)objectLookupPointerFunctions":{"name":"-objectLookupPointerFunctions","abstract":"

Asks the delegate for the pointer functions for looking up an object in a collection.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performUpdateWithCollectionView:fromObjects:toObjects:animated:objectTransitionBlock:completion:":{"name":"-performUpdateWithCollectionView:fromObjects:toObjects:animated:objectTransitionBlock:completion:","abstract":"

Tells the delegate to perform a section transition from an old array of objects to a new one.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)insertItemsIntoCollectionView:indexPaths:":{"name":"-insertItemsIntoCollectionView:indexPaths:","abstract":"

Tells the delegate to perform item inserts at the given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)deleteItemsFromCollectionView:indexPaths:":{"name":"-deleteItemsFromCollectionView:indexPaths:","abstract":"

Tells the delegate to perform item deletes at the given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)moveItemInCollectionView:fromIndexPath:toIndexPath:":{"name":"-moveItemInCollectionView:fromIndexPath:toIndexPath:","abstract":"

Tells the delegate to move an item from and to given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadItemInCollectionView:fromIndexPath:toIndexPath:":{"name":"-reloadItemInCollectionView:fromIndexPath:toIndexPath:","abstract":"

Tells the delegate to reload an item from and to given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadDataWithCollectionView:reloadUpdateBlock:completion:":{"name":"-reloadDataWithCollectionView:reloadUpdateBlock:completion:","abstract":"

Completely reload data in the collection.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadCollectionView:sections:":{"name":"-reloadCollectionView:sections:","abstract":"

Completely reload each section in the collection view.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performUpdateWithCollectionView:animated:itemUpdates:completion:":{"name":"-performUpdateWithCollectionView:animated:itemUpdates:completion:","abstract":"

Perform an item update block in the collection view.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)supportedElementKinds":{"name":"-supportedElementKinds","abstract":"

Asks the SupplementaryViewSource for an array of supported element kinds.

","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)viewForSupplementaryElementOfKind:atIndex:":{"name":"-viewForSupplementaryElementOfKind:atIndex:","abstract":"

Asks the SupplementaryViewSource for a configured supplementary view for the specified kind and index.

","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)sizeForSupplementaryViewOfKind:atIndex:":{"name":"-sizeForSupplementaryViewOfKind:atIndex:","abstract":"

Asks the SupplementaryViewSource for the size of a supplementary view for the given kind and index path.

","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSingleSectionControllerDelegate.html#/c:objc(pl)IGListSingleSectionControllerDelegate(im)didSelectSectionController:withObject:":{"name":"-didSelectSectionController:withObject:","abstract":"

Tells the delegate that the section controller was selected.

","parent_name":"IGListSingleSectionControllerDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didScrollSectionController:":{"name":"-listAdapter:didScrollSectionController:","abstract":"

Tells the delegate that the section controller was scrolled on screen.

","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:willBeginDraggingSectionController:":{"name":"-listAdapter:willBeginDraggingSectionController:","abstract":"

Tells the delegate that the section controller will be dragged on screen.

","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didEndDraggingSectionController:willDecelerate:":{"name":"-listAdapter:didEndDraggingSectionController:willDecelerate:","abstract":"

Tells the delegate that the section controller did end dragging on screen.

","parent_name":"IGListScrollDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:willDisplaySectionController:":{"name":"-listAdapter:willDisplaySectionController:","abstract":"

Tells the delegate that the specified section controller is about to be displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:didEndDisplayingSectionController:":{"name":"-listAdapter:didEndDisplayingSectionController:","abstract":"

Tells the delegate that the specified section controller is no longer being displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:willDisplaySectionController:cell:atIndex:":{"name":"-listAdapter:willDisplaySectionController:cell:atIndex:","abstract":"

Tells the delegate that a cell in the specified list is about to be displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:didEndDisplayingSectionController:cell:atIndex:":{"name":"-listAdapter:didEndDisplayingSectionController:cell:atIndex:","abstract":"

Tells the delegate that a cell in the specified list is no longer being displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)diffIdentifier":{"name":"-diffIdentifier","abstract":"

Returns a key that uniquely identifies the object.

","parent_name":"IGListDiffable"},"Protocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)isEqualToDiffableObject:":{"name":"-isEqualToDiffableObject:","abstract":"

Returns whether the receiver and a given object are equal.

","parent_name":"IGListDiffable"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerSize":{"name":"containerSize","abstract":"

The size of the collection view. You can use this for sizing cells.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerInset":{"name":"containerInset","abstract":"

The content insets of the collection view. You can use this for sizing cells.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)insetContainerSize":{"name":"insetContainerSize","abstract":"

The size of the collection view with content insets applied.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)containerSizeForSectionController:":{"name":"-containerSizeForSectionController:","abstract":"

Returns size of the collection view relative to the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)indexForCell:sectionController:":{"name":"-indexForCell:sectionController:","abstract":"

Returns the index of the specified cell in the collection relative to the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)cellForItemAtIndex:sectionController:":{"name":"-cellForItemAtIndex:sectionController:","abstract":"

Returns the cell in the collection at the specified index for the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)visibleCellsForSectionController:":{"name":"-visibleCellsForSectionController:","abstract":"

Returns the visible cells for the given section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)visibleIndexPathsForSectionController:":{"name":"-visibleIndexPathsForSectionController:","abstract":"

Returns the visible paths for the given section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)deselectItemAtIndex:sectionController:animated:":{"name":"-deselectItemAtIndex:sectionController:animated:","abstract":"

Deselects a cell in the collection.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellOfClass:forSectionController:atIndex:":{"name":"-dequeueReusableCellOfClass:forSectionController:atIndex:","abstract":"

Dequeues a cell from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellWithNibName:bundle:forSectionController:atIndex:":{"name":"-dequeueReusableCellWithNibName:bundle:forSectionController:atIndex:","abstract":"

Dequeues a cell from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellFromStoryboardWithIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableCellFromStoryboardWithIdentifier:forSectionController:atIndex:","abstract":"

Dequeues a storyboard prototype cell from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewOfKind:forSectionController:class:atIndex:":{"name":"-dequeueReusableSupplementaryViewOfKind:forSectionController:class:atIndex:","abstract":"

Dequeues a supplementary view from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewFromStoryboardOfKind:withIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableSupplementaryViewFromStoryboardOfKind:withIdentifier:forSectionController:atIndex:","abstract":"

Dequeues a supplementary view from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewOfKind:forSectionController:nibName:bundle:atIndex:":{"name":"-dequeueReusableSupplementaryViewOfKind:forSectionController:nibName:bundle:atIndex:","abstract":"

Dequeues a supplementary view from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)invalidateLayoutForSectionController:completion:":{"name":"-invalidateLayoutForSectionController:completion:","abstract":"

Invalidate the backing UICollectionViewLayout for all items in the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)performBatchAnimated:updates:completion:":{"name":"-performBatchAnimated:updates:completion:","abstract":"

Batches and performs many cell-level updates in a single transaction.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)scrollToSectionController:atIndex:scrollPosition:animated:":{"name":"-scrollToSectionController:atIndex:scrollPosition:animated:","abstract":"

Scrolls to the specified section controller in the list.

","parent_name":"IGListCollectionContext"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:didSelectItemAtIndex:viewModel:":{"name":"-sectionController:didSelectItemAtIndex:viewModel:","abstract":"

Tells the delegate that a cell at a given index was selected.

","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:viewModelsForObject:":{"name":"-sectionController:viewModelsForObject:","abstract":"

Create an array of view models given a top-level object.

","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:cellForViewModel:atIndex:":{"name":"-sectionController:cellForViewModel:atIndex:","abstract":"

Return a dequeued cell for a given view model.

","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:sizeForViewModel:atIndex:":{"name":"-sectionController:sizeForViewModel:atIndex:","abstract":"

Return a cell size for a given view model.

","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindable.html#/c:objc(pl)IGListBindable(im)bindViewModel:":{"name":"-bindViewModel:","abstract":"

Tells the cell to configure itself with the given view model.

","parent_name":"IGListBindable"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)reloadInSectionController:atIndexes:":{"name":"-reloadInSectionController:atIndexes:","abstract":"

Reloads cells in the section controller.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)insertInSectionController:atIndexes:":{"name":"-insertInSectionController:atIndexes:","abstract":"

Inserts cells in the list.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)deleteInSectionController:atIndexes:":{"name":"-deleteInSectionController:atIndexes:","abstract":"

Deletes cells in the list.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)moveInSectionController:fromIndex:toIndex:":{"name":"-moveInSectionController:fromIndex:toIndex:","abstract":"

Moves a cell from one index to another within the section controller.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)reloadSectionController:":{"name":"-reloadSectionController:","abstract":"

Reloads the entire section controller.

","parent_name":"IGListBatchContext"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willPerformBatchUpdatesWithCollectionView:":{"name":"-listAdapterUpdater:willPerformBatchUpdatesWithCollectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView performBatchUpdates:completion:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didPerformBatchUpdates:collectionView:":{"name":"-listAdapterUpdater:didPerformBatchUpdates:collectionView:","abstract":"

Notifies the delegate that the updater successfully finished -[UICollectionView performBatchUpdates:completion:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willInsertIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willInsertIndexPaths:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView insertItemsAtIndexPaths:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willDeleteIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willDeleteIndexPaths:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView deleteItemsAtIndexPaths:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willMoveFromIndexPath:toIndexPath:collectionView:":{"name":"-listAdapterUpdater:willMoveFromIndexPath:toIndexPath:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView moveItemAtIndexPath:toIndexPath:]

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willReloadIndexPaths:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView reloadItemsAtIndexPaths:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadSections:collectionView:":{"name":"-listAdapterUpdater:willReloadSections:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView reloadSections:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadDataWithCollectionView:":{"name":"-listAdapterUpdater:willReloadDataWithCollectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView reloadData].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didReloadDataWithCollectionView:":{"name":"-listAdapterUpdater:didReloadDataWithCollectionView:","abstract":"

Notifies the delegate that the updater successfully called -[UICollectionView reloadData].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willCrashWithException:fromObjects:toObjects:updates:":{"name":"-listAdapterUpdater:willCrashWithException:fromObjects:toObjects:updates:","abstract":"

Notifies the delegate that the collection view threw an exception in -[UICollectionView performBatchUpdates:completion:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:willDisplayObject:atIndex:":{"name":"-listAdapter:willDisplayObject:atIndex:","abstract":"

Notifies the delegate that a list object is about to be displayed.

","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:didEndDisplayingObject:atIndex:":{"name":"-listAdapter:didEndDisplayingObject:atIndex:","abstract":"

Notifies the delegate that a list object is no longer being displayed.

","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)objectsForListAdapter:":{"name":"-objectsForListAdapter:","abstract":"

Asks the data source for the objects to display in the list.

","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)listAdapter:sectionControllerForObject:":{"name":"-listAdapter:sectionControllerForObject:","abstract":"

Asks the data source for a section controller for the specified object in the list.

","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)emptyViewForListAdapter:":{"name":"-emptyViewForListAdapter:","abstract":"

Asks the data source for a view to use as the collection view background when the list is empty.

","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html":{"name":"IGListAdapterDataSource","abstract":"

Implement this protocol to provide data to an IGListAdapter.

"},"Protocols/IGListAdapterDelegate.html":{"name":"IGListAdapterDelegate","abstract":"

Conform to IGListAdapterDelegate to receive display events for objects in a list.

"},"Protocols/IGListAdapterUpdaterDelegate.html":{"name":"IGListAdapterUpdaterDelegate","abstract":"

A protocol that receives events about IGListAdapterUpdater operations.

"},"Protocols/IGListBatchContext.html":{"name":"IGListBatchContext","abstract":"

Objects conforming to the IGListBatchContext protocol provide a way for section controllers to mutate their cells or"},"Protocols/IGListBindable.html":{"name":"IGListBindable","abstract":"

A protocol for cells that configure themselves given a view model.

"},"Protocols/IGListBindingSectionControllerDataSource.html":{"name":"IGListBindingSectionControllerDataSource","abstract":"

A protocol that returns data to power cells in an IGListBindingSectionController.

"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html":{"name":"IGListBindingSectionControllerSelectionDelegate","abstract":"

A protocol that handles cell selection events in an IGListBindingSectionController.

"},"Protocols/IGListCollectionContext.html":{"name":"IGListCollectionContext","abstract":"

The collection context provides limited access to the collection-related information that"},"Protocols/IGListDiffable.html":{"name":"IGListDiffable","abstract":"

The IGListDiffable protocol provides methods needed to compare the identity and equality of two objects.

"},"Protocols/IGListDisplayDelegate.html":{"name":"IGListDisplayDelegate","abstract":"

Implement this protocol to receive display events for a section controller when it is on screen.

"},"Protocols/IGListScrollDelegate.html":{"name":"IGListScrollDelegate","abstract":"

Implement this protocol to receive display events for a section controller when it is on screen.

"},"Protocols/IGListSingleSectionControllerDelegate.html":{"name":"IGListSingleSectionControllerDelegate","abstract":"

A delegate that can receive selection events on an IGListSingleSectionController.

"},"Protocols/IGListSupplementaryViewSource.html":{"name":"IGListSupplementaryViewSource","abstract":"

Conform to this protocol to provide information about a list’s supplementary views. This data is used in"},"Protocols/IGListUpdatingDelegate.html":{"name":"IGListUpdatingDelegate","abstract":"

Implement this protocol in order to handle both section and row based update events. Implementation should forward or"},"Protocols/IGListWorkingRangeDelegate.html":{"name":"IGListWorkingRangeDelegate","abstract":"

Implement this protocol to receive working range events for a list.

"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentNone":{"name":"IGListExperimentNone","abstract":"

Specifies no experiements.

","parent_name":"IGListExperiment"},"Enums/IGListDiffOption.html#/c:@E@IGListDiffOption@IGListDiffPointerPersonality":{"name":"IGListDiffPointerPersonality","abstract":"

Compare objects using pointer personality.

","parent_name":"IGListDiffOption"},"Enums/IGListDiffOption.html#/c:@E@IGListDiffOption@IGListDiffEquality":{"name":"IGListDiffEquality","abstract":"

Compare objects using -[IGListDiffable isEqualToDiffableObject:].

","parent_name":"IGListDiffOption"},"Enums/IGListDiffOption.html":{"name":"IGListDiffOption","abstract":"

An option for how to do comparisons between similar objects.

"},"Enums/IGListExperiment.html":{"name":"IGListExperiment","abstract":"

Bitmask-able options used for pre-release feature testing.

"},"Constants.html#/c:@IGListKitVersionNumber":{"name":"IGListKitVersionNumber","abstract":"

Project version number for IGListKit.

"},"Constants.html#/c:@IGListKitVersionString":{"name":"IGListKitVersionString","abstract":"

Project version string for IGListKit.

"},"Classes/IGListStackedSectionController.html#/c:objc(cs)IGListStackedSectionController(im)initWithSectionControllers:":{"name":"-initWithSectionControllers:","abstract":"

Creates a new stacked section controller.

","parent_name":"IGListStackedSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithCellClass:configureBlock:sizeBlock:":{"name":"-initWithCellClass:configureBlock:sizeBlock:","abstract":"

Creates a new section controller for a given cell type that will always have only one cell when present in a list.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithNibName:bundle:configureBlock:sizeBlock:":{"name":"-initWithNibName:bundle:configureBlock:sizeBlock:","abstract":"

Creates a new section controller for a given nib name and bundle that will always have only one cell when present in a list.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithStoryboardCellIdentifier:configureBlock:sizeBlock:":{"name":"-initWithStoryboardCellIdentifier:configureBlock:sizeBlock:","abstract":"

Creates a new section controller for a given storyboard cell identifier that will always have only one cell when present in a list.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(py)selectionDelegate":{"name":"selectionDelegate","abstract":"

An optional delegate that handles selection and deselection.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)numberOfItems":{"name":"-numberOfItems","abstract":"

Returns the number of items in the section.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)sizeForItemAtIndex:":{"name":"-sizeForItemAtIndex:","abstract":"

The specific size for the item at the specified index.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)cellForItemAtIndex:":{"name":"-cellForItemAtIndex:","abstract":"

Return a dequeued cell for a given index.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didUpdateToObject:":{"name":"-didUpdateToObject:","abstract":"

Updates the section controller to a new object.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didSelectItemAtIndex:":{"name":"-didSelectItemAtIndex:","abstract":"

Tells the section controller that the cell at the specified index path was selected.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)viewController":{"name":"viewController","abstract":"

The view controller housing the adapter that created this section controller.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)collectionContext":{"name":"collectionContext","abstract":"

A context object for interacting with the collection.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)section":{"name":"section","abstract":"

Returns the section within the list for this section controller.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)isFirstSection":{"name":"isFirstSection","abstract":"

Returns YES if the section controller is the first section in the list, NO otherwise.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)isLastSection":{"name":"isLastSection","abstract":"

Returns YES if the section controller is the last section in the list, NO otherwise.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)inset":{"name":"inset","abstract":"

The margins used to lay out content in the section controller.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)minimumLineSpacing":{"name":"minimumLineSpacing","abstract":"

The minimum spacing to use between rows of items.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)minimumInteritemSpacing":{"name":"minimumInteritemSpacing","abstract":"

The minimum spacing to use between items in the same row.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)supplementaryViewSource":{"name":"supplementaryViewSource","abstract":"

The supplementary view source for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)displayDelegate":{"name":"displayDelegate","abstract":"

An object that handles display events for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)workingRangeDelegate":{"name":"workingRangeDelegate","abstract":"

An object that handles working range events for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)scrollDelegate":{"name":"scrollDelegate","abstract":"

An object that handles scroll events for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListMoveIndexPath.html#/c:objc(cs)IGListMoveIndexPath(py)from":{"name":"from","abstract":"

An index path in the old collection.

","parent_name":"IGListMoveIndexPath"},"Classes/IGListMoveIndexPath.html#/c:objc(cs)IGListMoveIndexPath(py)to":{"name":"to","abstract":"

An index path in the new collection.

","parent_name":"IGListMoveIndexPath"},"Classes/IGListMoveIndex.html#/c:objc(cs)IGListMoveIndex(py)from":{"name":"from","abstract":"

An index in the old collection.

","parent_name":"IGListMoveIndex"},"Classes/IGListMoveIndex.html#/c:objc(cs)IGListMoveIndex(py)to":{"name":"to","abstract":"

An index in the new collection.

","parent_name":"IGListMoveIndex"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)inserts":{"name":"inserts","abstract":"

The indexes inserted into the new collection.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)deletes":{"name":"deletes","abstract":"

The indexes deleted from the old collection.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)updates":{"name":"updates","abstract":"

The indexes in the old collection that need updated.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)moves":{"name":"moves","abstract":"

The moves from an index in the old collection to an index in the new collection.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)hasChanges":{"name":"hasChanges","abstract":"

A Read-only boolean that indicates whether the result has any changes or not.","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)oldIndexForIdentifier:":{"name":"-oldIndexForIdentifier:","abstract":"

Returns the index of the object with the specified identifier before the diff.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)newIndexForIdentifier:":{"name":"-newIndexForIdentifier:","abstract":"

Returns the index of the object with the specified identifier after the diff.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)resultForBatchUpdates":{"name":"-resultForBatchUpdates","abstract":"

Creates a new result object with operations safe for use in UITableView and UICollectionView batch updates.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)inserts":{"name":"inserts","abstract":"

The index paths inserted into the new collection.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)deletes":{"name":"deletes","abstract":"

The index paths deleted from the old collection.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)updates":{"name":"updates","abstract":"

The index paths in the old collection that need updated.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)moves":{"name":"moves","abstract":"

The moves from an index path in the old collection to an index path in the new collection.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)hasChanges":{"name":"hasChanges","abstract":"

A Read-only boolean that indicates whether the result has any changes or not.","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)oldIndexPathForIdentifier:":{"name":"-oldIndexPathForIdentifier:","abstract":"

Returns the index path of the object with the specified identifier before the diff.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)newIndexPathForIdentifier:":{"name":"-newIndexPathForIdentifier:","abstract":"

Returns the index path of the object with the specified identifier after the diff.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)resultForBatchUpdates":{"name":"-resultForBatchUpdates","abstract":"

Creates a new result object with operations safe for use in UITableView and UICollectionView batch updates.

","parent_name":"IGListIndexPathResult"},"Classes/IGListGenericSectionController.html#/c:objc(cs)IGListGenericSectionController(py)object":{"name":"object","abstract":"

The object mapped to this section controller. Matches the object provided in","parent_name":"IGListGenericSectionController"},"Classes/IGListGenericSectionController.html#/c:objc(cs)IGListGenericSectionController(im)didUpdateToObject:":{"name":"-didUpdateToObject:","abstract":"

Updates the section controller to a new object.

","parent_name":"IGListGenericSectionController"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(py)stickyHeaderOriginYAdjustment":{"name":"stickyHeaderOriginYAdjustment","abstract":"

Set this to adjust the offset of the sticky headers. Can be used to change the sticky header position as UI like the","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(im)initWithStickyHeaders:topContentInset:stretchToEdge:":{"name":"-initWithStickyHeaders:topContentInset:stretchToEdge:","abstract":"

Create and return a new collection view layout.

","parent_name":"IGListCollectionViewLayout"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)dataSource":{"name":"dataSource","abstract":"

A data source that transforms a top-level object into view models, and returns cells and sizes for given view models.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)selectionDelegate":{"name":"selectionDelegate","abstract":"

A delegate that receives selection events from cells in an IGListBindingSectionController instance.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)object":{"name":"object","abstract":"

The object currently assigned to the section controller, if any.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)viewModels":{"name":"viewModels","abstract":"

The array of view models created from the data source. Values are changed when the top-level object changes or by","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(im)updateAnimated:completion:":{"name":"-updateAnimated:completion:","abstract":"

Tells the section controller to query for new view models, diff the changes, and update its cells.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)insertSections":{"name":"insertSections","abstract":"

Section insert indexes.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)deleteSections":{"name":"deleteSections","abstract":"

Section delete indexes.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)moveSections":{"name":"moveSections","abstract":"

Section moves.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)insertIndexPaths":{"name":"insertIndexPaths","abstract":"

Item insert index paths.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)deleteIndexPaths":{"name":"deleteIndexPaths","abstract":"

Item delete index paths.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)moveIndexPaths":{"name":"moveIndexPaths","abstract":"

Item moves.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(im)initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:moveIndexPaths:":{"name":"-initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:moveIndexPaths:","abstract":"

Creates a new batch update object with section and item operations.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)delegate":{"name":"delegate","abstract":"

The delegate that receives events with data on the performance of a transition.

","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)movesAsDeletesInserts":{"name":"movesAsDeletesInserts","abstract":"

A flag indicating if a move should be treated as a delete, then insert operation.

","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)allowsBackgroundReloading":{"name":"allowsBackgroundReloading","abstract":"

A flag indicating whether this updater should skip diffing and simply call","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)experiments":{"name":"experiments","abstract":"

A bitmask of experiments to conduct on the updater.

","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)viewController":{"name":"viewController","abstract":"

The view controller that houses the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)collectionView":{"name":"collectionView","abstract":"

The collection view used with the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)dataSource":{"name":"dataSource","abstract":"

The object that acts as the data source for the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)delegate":{"name":"delegate","abstract":"

The object that receives top-level events for section controllers.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)collectionViewDelegate":{"name":"collectionViewDelegate","abstract":"

The object that receives UICollectionViewDelegate events.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)scrollViewDelegate":{"name":"scrollViewDelegate","abstract":"

The object that receives UIScrollViewDelegate events.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)updater":{"name":"updater","abstract":"

The updater for the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)experiments":{"name":"experiments","abstract":"

A bitmask of experiments to conduct on the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)initWithUpdater:viewController:workingRangeSize:":{"name":"-initWithUpdater:viewController:workingRangeSize:","abstract":"

Initializes a new IGListAdapter object.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)initWithUpdater:viewController:":{"name":"-initWithUpdater:viewController:","abstract":"

Initializes a new IGListAdapter object with a working range of 0.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)performUpdatesAnimated:completion:":{"name":"-performUpdatesAnimated:completion:","abstract":"

Perform an update from the previous state of the data source. This is analogous to calling","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadDataWithCompletion:":{"name":"-reloadDataWithCompletion:","abstract":"

Perform an immediate reload of the data in the data source, discarding the old objects.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadObjects:":{"name":"-reloadObjects:","abstract":"

Reload the list for only the specified objects.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionControllerForSection:":{"name":"-sectionControllerForSection:","abstract":"

Query the section controller at a given section index. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionForSectionController:":{"name":"-sectionForSectionController:","abstract":"

Query the section index of a list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionControllerForObject:":{"name":"-sectionControllerForObject:","abstract":"

Returns the section controller for the specified object. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objectForSectionController:":{"name":"-objectForSectionController:","abstract":"

Returns the object corresponding to the specified section controller in the list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objectAtSection:":{"name":"-objectAtSection:","abstract":"

Returns the object corresponding to a section in the list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionForObject:":{"name":"-sectionForObject:","abstract":"

Returns the section corresponding to the specified object in the list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objects":{"name":"-objects","abstract":"

Returns a copy of all the objects currently driving the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleSectionControllers":{"name":"-visibleSectionControllers","abstract":"

An unordered array of the currently visible section controllers.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleObjects":{"name":"-visibleObjects","abstract":"

An unordered array of the currently visible objects.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleCellsForObject:":{"name":"-visibleCellsForObject:","abstract":"

An unordered array of the currently visible cells for a given object.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)scrollToObject:supplementaryKinds:scrollDirection:scrollPosition:animated:":{"name":"-scrollToObject:supplementaryKinds:scrollDirection:scrollPosition:animated:","abstract":"

Scrolls to the specified object in the list adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sizeForItemAtIndexPath:":{"name":"-sizeForItemAtIndexPath:","abstract":"

Returns the size of a cell at the specified index path.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sizeForSupplementaryViewOfKind:atIndexPath:":{"name":"-sizeForSupplementaryViewOfKind:atIndexPath:","abstract":"

Returns the size of a supplementary view in the list at the specified index path.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html":{"name":"IGListAdapter","abstract":"

IGListAdapter objects provide an abstraction for feeds of objects in a UICollectionView by breaking each object"},"Classes/IGListAdapterUpdater.html":{"name":"IGListAdapterUpdater","abstract":"

An IGListAdapterUpdater is a concrete type that conforms to IGListUpdatingDelegate."},"Classes/IGListBatchUpdateData.html":{"name":"IGListBatchUpdateData","abstract":"

An instance of IGListBatchUpdateData takes section indexes and item index paths"},"Classes/IGListBindingSectionController.html":{"name":"IGListBindingSectionController","abstract":"

This section controller uses a data source to transform its top level object into an array of diffable view models."},"Classes/IGListCollectionViewLayout.html":{"name":"IGListCollectionViewLayout","abstract":"

This UICollectionViewLayout subclass is for vertically-scrolling lists of data with variable widths and heights. It"},"Classes/IGListGenericSectionController.html":{"name":"IGListGenericSectionController","abstract":"

This class adds a helper layer to IGListSectionController\u0010 to automatically store a generic object in"},"Classes/IGListIndexPathResult.html":{"name":"IGListIndexPathResult","abstract":"

A result object returned when diffing with sections.

"},"Classes/IGListIndexSetResult.html":{"name":"IGListIndexSetResult","abstract":"

A result object returned when diffing with indexes.

"},"Classes/IGListMoveIndex.html":{"name":"IGListMoveIndex","abstract":"

An object representing a move between indexes.

"},"Classes/IGListMoveIndexPath.html":{"name":"IGListMoveIndexPath","abstract":"

An object representing a move between indexes.

"},"Classes.html#/c:objc(cs)IGListReloadDataUpdater":{"name":"IGListReloadDataUpdater","abstract":"

An IGListReloadDataUpdater is a concrete type that conforms to IGListUpdatingDelegate."},"Classes/IGListSectionController.html":{"name":"IGListSectionController","abstract":"

The base class for section controllers used in a list. This class is intended to be subclassed.

"},"Classes/IGListSingleSectionController.html":{"name":"IGListSingleSectionController","abstract":"

This section controller is meant to make building simple, single-cell lists easier. By providing the type of cell, a block"},"Classes/IGListStackedSectionController.html":{"name":"IGListStackedSectionController","abstract":"

An instance of IGListStackedSectionController is a clustered section controller, composed of many child section"},"Categories.html#/c:objc(cy)NSNumber@IGListDiffable":{"name":"NSNumber(IGListDiffable)","abstract":"

This category provides default IGListDiffable conformance for NSNumber.

"},"Categories.html#/c:objc(cy)NSString@IGListDiffable":{"name":"NSString(IGListDiffable)","abstract":"

This category provides default IGListDiffable conformance for NSString.

"},"best-practices-and-faq.html":{"name":"Best Practices and FAQ"},"getting-started.html":{"name":"Getting Started"},"iglistdiffable-and-equality.html":{"name":"IGListDiffable and Equality"},"installation.html":{"name":"Installation"},"migration.html":{"name":"Migration"},"vision.html":{"name":"VISION"},"working-with-core-data.html":{"name":"Working with Core Data"},"working-with-uicollectionview.html":{"name":"Working with UICollectionView"},"Guides.html":{"name":"Guides","abstract":"

The following guides are available globally.

"},"Categories.html":{"name":"Categories","abstract":"

The following categories are available globally.

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enums","abstract":"

The following enums are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Type Definitions.html":{"name":"Type Definitions","abstract":"

The following type definitions are available globally.

"},"Functions.html":{"name":"Functions","abstract":"

The following functions are available globally.

"}} \ No newline at end of file +{"Functions.html#/c:@F@IGListDiff":{"name":"IGListDiff","abstract":"

Creates a diff using indexes between two collections.

"},"Functions.html#/c:@F@IGListDiffPaths":{"name":"IGListDiffPaths","abstract":"

Creates a diff using index paths between two collections.

"},"Functions.html#/c:IGListExperiments.h@F@IGListExperimentEnabled":{"name":"IGListExperimentEnabled","abstract":"

Check if an experiment is enabled in a bitmask.

"},"Functions.html#/c:@F@IGListDiffExperiment":{"name":"IGListDiffExperiment","abstract":"

Performs an index diff with an experiment bitmask.

"},"Functions.html#/c:@F@IGListDiffPathsExperiment":{"name":"IGListDiffPathsExperiment","abstract":"

Performs a index path diff with an experiment bitmask.

"},"Type Definitions.html#/c:IGListAdapter.h@T@IGListUpdaterCompletion":{"name":"IGListUpdaterCompletion","abstract":"

A block to execute when the list updates are completed.

"},"Type Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellConfigureBlock":{"name":"IGListSingleSectionCellConfigureBlock","abstract":"

A block used to configure cells.

"},"Type Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellSizeBlock":{"name":"IGListSingleSectionCellSizeBlock","abstract":"

A block that returns the size for the cell given the collection context.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListUpdatingCompletion":{"name":"IGListUpdatingCompletion","abstract":"

A completion block to execute when updates are finished.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListObjectTransitionBlock":{"name":"IGListObjectTransitionBlock","abstract":"

A block to be called when the adapter applies changes to the collection view.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListItemUpdateBlock":{"name":"IGListItemUpdateBlock","abstract":"

A block that contains all of the updates.

"},"Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListReloadUpdateBlock":{"name":"IGListReloadUpdateBlock","abstract":"

A block to be called when an adapter reloads the collection view.

"},"Protocols/IGListWorkingRangeDelegate.html#/c:objc(pl)IGListWorkingRangeDelegate(im)listAdapter:sectionControllerWillEnterWorkingRange:":{"name":"-listAdapter:sectionControllerWillEnterWorkingRange:","abstract":"

Notifies the delegate that an section controller will enter the working range.

","parent_name":"IGListWorkingRangeDelegate"},"Protocols/IGListWorkingRangeDelegate.html#/c:objc(pl)IGListWorkingRangeDelegate(im)listAdapter:sectionControllerDidExitWorkingRange:":{"name":"-listAdapter:sectionControllerDidExitWorkingRange:","abstract":"

Notifies the delegate that an section controller exited the working range.

","parent_name":"IGListWorkingRangeDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)objectLookupPointerFunctions":{"name":"-objectLookupPointerFunctions","abstract":"

Asks the delegate for the pointer functions for looking up an object in a collection.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performUpdateWithCollectionView:fromObjects:toObjects:animated:objectTransitionBlock:completion:":{"name":"-performUpdateWithCollectionView:fromObjects:toObjects:animated:objectTransitionBlock:completion:","abstract":"

Tells the delegate to perform a section transition from an old array of objects to a new one.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)insertItemsIntoCollectionView:indexPaths:":{"name":"-insertItemsIntoCollectionView:indexPaths:","abstract":"

Tells the delegate to perform item inserts at the given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)deleteItemsFromCollectionView:indexPaths:":{"name":"-deleteItemsFromCollectionView:indexPaths:","abstract":"

Tells the delegate to perform item deletes at the given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)moveItemInCollectionView:fromIndexPath:toIndexPath:":{"name":"-moveItemInCollectionView:fromIndexPath:toIndexPath:","abstract":"

Tells the delegate to move an item from and to given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadItemInCollectionView:fromIndexPath:toIndexPath:":{"name":"-reloadItemInCollectionView:fromIndexPath:toIndexPath:","abstract":"

Tells the delegate to reload an item from and to given index paths.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadDataWithCollectionView:reloadUpdateBlock:completion:":{"name":"-reloadDataWithCollectionView:reloadUpdateBlock:completion:","abstract":"

Completely reload data in the collection.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadCollectionView:sections:":{"name":"-reloadCollectionView:sections:","abstract":"

Completely reload each section in the collection view.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performUpdateWithCollectionView:animated:itemUpdates:completion:":{"name":"-performUpdateWithCollectionView:animated:itemUpdates:completion:","abstract":"

Perform an item update block in the collection view.

","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)supportedElementKinds":{"name":"-supportedElementKinds","abstract":"

Asks the SupplementaryViewSource for an array of supported element kinds.

","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)viewForSupplementaryElementOfKind:atIndex:":{"name":"-viewForSupplementaryElementOfKind:atIndex:","abstract":"

Asks the SupplementaryViewSource for a configured supplementary view for the specified kind and index.

","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)sizeForSupplementaryViewOfKind:atIndex:":{"name":"-sizeForSupplementaryViewOfKind:atIndex:","abstract":"

Asks the SupplementaryViewSource for the size of a supplementary view for the given kind and index path.

","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSingleSectionControllerDelegate.html#/c:objc(pl)IGListSingleSectionControllerDelegate(im)didSelectSectionController:withObject:":{"name":"-didSelectSectionController:withObject:","abstract":"

Tells the delegate that the section controller was selected.

","parent_name":"IGListSingleSectionControllerDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didScrollSectionController:":{"name":"-listAdapter:didScrollSectionController:","abstract":"

Tells the delegate that the section controller was scrolled on screen.

","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:willBeginDraggingSectionController:":{"name":"-listAdapter:willBeginDraggingSectionController:","abstract":"

Tells the delegate that the section controller will be dragged on screen.

","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didEndDraggingSectionController:willDecelerate:":{"name":"-listAdapter:didEndDraggingSectionController:willDecelerate:","abstract":"

Tells the delegate that the section controller did end dragging on screen.

","parent_name":"IGListScrollDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:willDisplaySectionController:":{"name":"-listAdapter:willDisplaySectionController:","abstract":"

Tells the delegate that the specified section controller is about to be displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:didEndDisplayingSectionController:":{"name":"-listAdapter:didEndDisplayingSectionController:","abstract":"

Tells the delegate that the specified section controller is no longer being displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:willDisplaySectionController:cell:atIndex:":{"name":"-listAdapter:willDisplaySectionController:cell:atIndex:","abstract":"

Tells the delegate that a cell in the specified list is about to be displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:didEndDisplayingSectionController:cell:atIndex:":{"name":"-listAdapter:didEndDisplayingSectionController:cell:atIndex:","abstract":"

Tells the delegate that a cell in the specified list is no longer being displayed.

","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)diffIdentifier":{"name":"-diffIdentifier","abstract":"

Returns a key that uniquely identifies the object.

","parent_name":"IGListDiffable"},"Protocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)isEqualToDiffableObject:":{"name":"-isEqualToDiffableObject:","abstract":"

Returns whether the receiver and a given object are equal.

","parent_name":"IGListDiffable"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerSize":{"name":"containerSize","abstract":"

The size of the collection view. You can use this for sizing cells.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerInset":{"name":"containerInset","abstract":"

The content insets of the collection view. You can use this for sizing cells.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)insetContainerSize":{"name":"insetContainerSize","abstract":"

The size of the collection view with content insets applied.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)containerSizeForSectionController:":{"name":"-containerSizeForSectionController:","abstract":"

Returns size of the collection view relative to the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)indexForCell:sectionController:":{"name":"-indexForCell:sectionController:","abstract":"

Returns the index of the specified cell in the collection relative to the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)cellForItemAtIndex:sectionController:":{"name":"-cellForItemAtIndex:sectionController:","abstract":"

Returns the cell in the collection at the specified index for the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)visibleCellsForSectionController:":{"name":"-visibleCellsForSectionController:","abstract":"

Returns the visible cells for the given section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)visibleIndexPathsForSectionController:":{"name":"-visibleIndexPathsForSectionController:","abstract":"

Returns the visible paths for the given section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)deselectItemAtIndex:sectionController:animated:":{"name":"-deselectItemAtIndex:sectionController:animated:","abstract":"

Deselects a cell in the collection.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellOfClass:forSectionController:atIndex:":{"name":"-dequeueReusableCellOfClass:forSectionController:atIndex:","abstract":"

Dequeues a cell from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellWithNibName:bundle:forSectionController:atIndex:":{"name":"-dequeueReusableCellWithNibName:bundle:forSectionController:atIndex:","abstract":"

Dequeues a cell from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellFromStoryboardWithIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableCellFromStoryboardWithIdentifier:forSectionController:atIndex:","abstract":"

Dequeues a storyboard prototype cell from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewOfKind:forSectionController:class:atIndex:":{"name":"-dequeueReusableSupplementaryViewOfKind:forSectionController:class:atIndex:","abstract":"

Dequeues a supplementary view from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewFromStoryboardOfKind:withIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableSupplementaryViewFromStoryboardOfKind:withIdentifier:forSectionController:atIndex:","abstract":"

Dequeues a supplementary view from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewOfKind:forSectionController:nibName:bundle:atIndex:":{"name":"-dequeueReusableSupplementaryViewOfKind:forSectionController:nibName:bundle:atIndex:","abstract":"

Dequeues a supplementary view from the collection view reuse pool.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)invalidateLayoutForSectionController:completion:":{"name":"-invalidateLayoutForSectionController:completion:","abstract":"

Invalidate the backing UICollectionViewLayout for all items in the section controller.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)performBatchAnimated:updates:completion:":{"name":"-performBatchAnimated:updates:completion:","abstract":"

Batches and performs many cell-level updates in a single transaction.

","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)scrollToSectionController:atIndex:scrollPosition:animated:":{"name":"-scrollToSectionController:atIndex:scrollPosition:animated:","abstract":"

Scrolls to the specified section controller in the list.

","parent_name":"IGListCollectionContext"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:didSelectItemAtIndex:viewModel:":{"name":"-sectionController:didSelectItemAtIndex:viewModel:","abstract":"

Tells the delegate that a cell at a given index was selected.

","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:viewModelsForObject:":{"name":"-sectionController:viewModelsForObject:","abstract":"

Create an array of view models given a top-level object.

","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:cellForViewModel:atIndex:":{"name":"-sectionController:cellForViewModel:atIndex:","abstract":"

Return a dequeued cell for a given view model.

","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:sizeForViewModel:atIndex:":{"name":"-sectionController:sizeForViewModel:atIndex:","abstract":"

Return a cell size for a given view model.

","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindable.html#/c:objc(pl)IGListBindable(im)bindViewModel:":{"name":"-bindViewModel:","abstract":"

Tells the cell to configure itself with the given view model.

","parent_name":"IGListBindable"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)reloadInSectionController:atIndexes:":{"name":"-reloadInSectionController:atIndexes:","abstract":"

Reloads cells in the section controller.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)insertInSectionController:atIndexes:":{"name":"-insertInSectionController:atIndexes:","abstract":"

Inserts cells in the list.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)deleteInSectionController:atIndexes:":{"name":"-deleteInSectionController:atIndexes:","abstract":"

Deletes cells in the list.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)moveInSectionController:fromIndex:toIndex:":{"name":"-moveInSectionController:fromIndex:toIndex:","abstract":"

Moves a cell from one index to another within the section controller.

","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)reloadSectionController:":{"name":"-reloadSectionController:","abstract":"

Reloads the entire section controller.

","parent_name":"IGListBatchContext"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willPerformBatchUpdatesWithCollectionView:":{"name":"-listAdapterUpdater:willPerformBatchUpdatesWithCollectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView performBatchUpdates:completion:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didPerformBatchUpdates:collectionView:":{"name":"-listAdapterUpdater:didPerformBatchUpdates:collectionView:","abstract":"

Notifies the delegate that the updater successfully finished -[UICollectionView performBatchUpdates:completion:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willInsertIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willInsertIndexPaths:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView insertItemsAtIndexPaths:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willDeleteIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willDeleteIndexPaths:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView deleteItemsAtIndexPaths:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willMoveFromIndexPath:toIndexPath:collectionView:":{"name":"-listAdapterUpdater:willMoveFromIndexPath:toIndexPath:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView moveItemAtIndexPath:toIndexPath:]

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willReloadIndexPaths:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView reloadItemsAtIndexPaths:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadSections:collectionView:":{"name":"-listAdapterUpdater:willReloadSections:collectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView reloadSections:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadDataWithCollectionView:":{"name":"-listAdapterUpdater:willReloadDataWithCollectionView:","abstract":"

Notifies the delegate that the updater will call -[UICollectionView reloadData].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didReloadDataWithCollectionView:":{"name":"-listAdapterUpdater:didReloadDataWithCollectionView:","abstract":"

Notifies the delegate that the updater successfully called -[UICollectionView reloadData].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willCrashWithException:fromObjects:toObjects:updates:":{"name":"-listAdapterUpdater:willCrashWithException:fromObjects:toObjects:updates:","abstract":"

Notifies the delegate that the collection view threw an exception in -[UICollectionView performBatchUpdates:completion:].

","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:willDisplayObject:atIndex:":{"name":"-listAdapter:willDisplayObject:atIndex:","abstract":"

Notifies the delegate that a list object is about to be displayed.

","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:didEndDisplayingObject:atIndex:":{"name":"-listAdapter:didEndDisplayingObject:atIndex:","abstract":"

Notifies the delegate that a list object is no longer being displayed.

","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)objectsForListAdapter:":{"name":"-objectsForListAdapter:","abstract":"

Asks the data source for the objects to display in the list.

","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)listAdapter:sectionControllerForObject:":{"name":"-listAdapter:sectionControllerForObject:","abstract":"

Asks the data source for a section controller for the specified object in the list.

","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)emptyViewForListAdapter:":{"name":"-emptyViewForListAdapter:","abstract":"

Asks the data source for a view to use as the collection view background when the list is empty.

","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html":{"name":"IGListAdapterDataSource","abstract":"

Implement this protocol to provide data to an IGListAdapter.

"},"Protocols/IGListAdapterDelegate.html":{"name":"IGListAdapterDelegate","abstract":"

Conform to IGListAdapterDelegate to receive display events for objects in a list.

"},"Protocols/IGListAdapterUpdaterDelegate.html":{"name":"IGListAdapterUpdaterDelegate","abstract":"

A protocol that receives events about IGListAdapterUpdater operations.

"},"Protocols/IGListBatchContext.html":{"name":"IGListBatchContext","abstract":"

Objects conforming to the IGListBatchContext protocol provide a way for section controllers to mutate their cells or"},"Protocols/IGListBindable.html":{"name":"IGListBindable","abstract":"

A protocol for cells that configure themselves given a view model.

"},"Protocols/IGListBindingSectionControllerDataSource.html":{"name":"IGListBindingSectionControllerDataSource","abstract":"

A protocol that returns data to power cells in an IGListBindingSectionController.

"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html":{"name":"IGListBindingSectionControllerSelectionDelegate","abstract":"

A protocol that handles cell selection events in an IGListBindingSectionController.

"},"Protocols/IGListCollectionContext.html":{"name":"IGListCollectionContext","abstract":"

The collection context provides limited access to the collection-related information that"},"Protocols/IGListDiffable.html":{"name":"IGListDiffable","abstract":"

The IGListDiffable protocol provides methods needed to compare the identity and equality of two objects.

"},"Protocols/IGListDisplayDelegate.html":{"name":"IGListDisplayDelegate","abstract":"

Implement this protocol to receive display events for a section controller when it is on screen.

"},"Protocols/IGListScrollDelegate.html":{"name":"IGListScrollDelegate","abstract":"

Implement this protocol to receive display events for a section controller when it is on screen.

"},"Protocols/IGListSingleSectionControllerDelegate.html":{"name":"IGListSingleSectionControllerDelegate","abstract":"

A delegate that can receive selection events on an IGListSingleSectionController.

"},"Protocols/IGListSupplementaryViewSource.html":{"name":"IGListSupplementaryViewSource","abstract":"

Conform to this protocol to provide information about a list’s supplementary views. This data is used in"},"Protocols/IGListUpdatingDelegate.html":{"name":"IGListUpdatingDelegate","abstract":"

Implement this protocol in order to handle both section and row based update events. Implementation should forward or"},"Protocols/IGListWorkingRangeDelegate.html":{"name":"IGListWorkingRangeDelegate","abstract":"

Implement this protocol to receive working range events for a list.

"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentNone":{"name":"IGListExperimentNone","abstract":"

Specifies no experiments.

","parent_name":"IGListExperiment"},"Enums/IGListDiffOption.html#/c:@E@IGListDiffOption@IGListDiffPointerPersonality":{"name":"IGListDiffPointerPersonality","abstract":"

Compare objects using pointer personality.

","parent_name":"IGListDiffOption"},"Enums/IGListDiffOption.html#/c:@E@IGListDiffOption@IGListDiffEquality":{"name":"IGListDiffEquality","abstract":"

Compare objects using -[IGListDiffable isEqualToDiffableObject:].

","parent_name":"IGListDiffOption"},"Enums/IGListDiffOption.html":{"name":"IGListDiffOption","abstract":"

An option for how to do comparisons between similar objects.

"},"Enums/IGListExperiment.html":{"name":"IGListExperiment","abstract":"

Bitmask-able options used for pre-release feature testing.

"},"Constants.html#/c:@IGListKitVersionNumber":{"name":"IGListKitVersionNumber","abstract":"

Project version number for IGListKit.

"},"Constants.html#/c:@IGListKitVersionString":{"name":"IGListKitVersionString","abstract":"

Project version string for IGListKit.

"},"Classes/IGListStackedSectionController.html#/c:objc(cs)IGListStackedSectionController(im)initWithSectionControllers:":{"name":"-initWithSectionControllers:","abstract":"

Creates a new stacked section controller.

","parent_name":"IGListStackedSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithCellClass:configureBlock:sizeBlock:":{"name":"-initWithCellClass:configureBlock:sizeBlock:","abstract":"

Creates a new section controller for a given cell type that will always have only one cell when present in a list.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithNibName:bundle:configureBlock:sizeBlock:":{"name":"-initWithNibName:bundle:configureBlock:sizeBlock:","abstract":"

Creates a new section controller for a given nib name and bundle that will always have only one cell when present in a list.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithStoryboardCellIdentifier:configureBlock:sizeBlock:":{"name":"-initWithStoryboardCellIdentifier:configureBlock:sizeBlock:","abstract":"

Creates a new section controller for a given storyboard cell identifier that will always have only one cell when present in a list.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(py)selectionDelegate":{"name":"selectionDelegate","abstract":"

An optional delegate that handles selection and deselection.

","parent_name":"IGListSingleSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)numberOfItems":{"name":"-numberOfItems","abstract":"

Returns the number of items in the section.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)sizeForItemAtIndex:":{"name":"-sizeForItemAtIndex:","abstract":"

The specific size for the item at the specified index.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)cellForItemAtIndex:":{"name":"-cellForItemAtIndex:","abstract":"

Return a dequeued cell for a given index.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didUpdateToObject:":{"name":"-didUpdateToObject:","abstract":"

Updates the section controller to a new object.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didSelectItemAtIndex:":{"name":"-didSelectItemAtIndex:","abstract":"

Tells the section controller that the cell at the specified index path was selected.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)viewController":{"name":"viewController","abstract":"

The view controller housing the adapter that created this section controller.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)collectionContext":{"name":"collectionContext","abstract":"

A context object for interacting with the collection.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)section":{"name":"section","abstract":"

Returns the section within the list for this section controller.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)isFirstSection":{"name":"isFirstSection","abstract":"

Returns YES if the section controller is the first section in the list, NO otherwise.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)isLastSection":{"name":"isLastSection","abstract":"

Returns YES if the section controller is the last section in the list, NO otherwise.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)inset":{"name":"inset","abstract":"

The margins used to lay out content in the section controller.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)minimumLineSpacing":{"name":"minimumLineSpacing","abstract":"

The minimum spacing to use between rows of items.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)minimumInteritemSpacing":{"name":"minimumInteritemSpacing","abstract":"

The minimum spacing to use between items in the same row.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)supplementaryViewSource":{"name":"supplementaryViewSource","abstract":"

The supplementary view source for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)displayDelegate":{"name":"displayDelegate","abstract":"

An object that handles display events for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)workingRangeDelegate":{"name":"workingRangeDelegate","abstract":"

An object that handles working range events for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)scrollDelegate":{"name":"scrollDelegate","abstract":"

An object that handles scroll events for the section controller. Can be nil.

","parent_name":"IGListSectionController"},"Classes/IGListMoveIndexPath.html#/c:objc(cs)IGListMoveIndexPath(py)from":{"name":"from","abstract":"

An index path in the old collection.

","parent_name":"IGListMoveIndexPath"},"Classes/IGListMoveIndexPath.html#/c:objc(cs)IGListMoveIndexPath(py)to":{"name":"to","abstract":"

An index path in the new collection.

","parent_name":"IGListMoveIndexPath"},"Classes/IGListMoveIndex.html#/c:objc(cs)IGListMoveIndex(py)from":{"name":"from","abstract":"

An index in the old collection.

","parent_name":"IGListMoveIndex"},"Classes/IGListMoveIndex.html#/c:objc(cs)IGListMoveIndex(py)to":{"name":"to","abstract":"

An index in the new collection.

","parent_name":"IGListMoveIndex"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)inserts":{"name":"inserts","abstract":"

The indexes inserted into the new collection.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)deletes":{"name":"deletes","abstract":"

The indexes deleted from the old collection.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)updates":{"name":"updates","abstract":"

The indexes in the old collection that need updated.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)moves":{"name":"moves","abstract":"

The moves from an index in the old collection to an index in the new collection.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)hasChanges":{"name":"hasChanges","abstract":"

A Read-only boolean that indicates whether the result has any changes or not.","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)oldIndexForIdentifier:":{"name":"-oldIndexForIdentifier:","abstract":"

Returns the index of the object with the specified identifier before the diff.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)newIndexForIdentifier:":{"name":"-newIndexForIdentifier:","abstract":"

Returns the index of the object with the specified identifier after the diff.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)resultForBatchUpdates":{"name":"-resultForBatchUpdates","abstract":"

Creates a new result object with operations safe for use in UITableView and UICollectionView batch updates.

","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)inserts":{"name":"inserts","abstract":"

The index paths inserted into the new collection.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)deletes":{"name":"deletes","abstract":"

The index paths deleted from the old collection.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)updates":{"name":"updates","abstract":"

The index paths in the old collection that need updated.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)moves":{"name":"moves","abstract":"

The moves from an index path in the old collection to an index path in the new collection.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)hasChanges":{"name":"hasChanges","abstract":"

A Read-only boolean that indicates whether the result has any changes or not.","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)oldIndexPathForIdentifier:":{"name":"-oldIndexPathForIdentifier:","abstract":"

Returns the index path of the object with the specified identifier before the diff.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)newIndexPathForIdentifier:":{"name":"-newIndexPathForIdentifier:","abstract":"

Returns the index path of the object with the specified identifier after the diff.

","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)resultForBatchUpdates":{"name":"-resultForBatchUpdates","abstract":"

Creates a new result object with operations safe for use in UITableView and UICollectionView batch updates.

","parent_name":"IGListIndexPathResult"},"Classes/IGListGenericSectionController.html#/c:objc(cs)IGListGenericSectionController(py)object":{"name":"object","abstract":"

The object mapped to this section controller. Matches the object provided in","parent_name":"IGListGenericSectionController"},"Classes/IGListGenericSectionController.html#/c:objc(cs)IGListGenericSectionController(im)didUpdateToObject:":{"name":"-didUpdateToObject:","abstract":"

Updates the section controller to a new object.

","parent_name":"IGListGenericSectionController"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(py)stickyHeaderOriginYAdjustment":{"name":"stickyHeaderOriginYAdjustment","abstract":"

Set this to adjust the offset of the sticky headers. Can be used to change the sticky header position as UI like the","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(im)initWithStickyHeaders:topContentInset:stretchToEdge:":{"name":"-initWithStickyHeaders:topContentInset:stretchToEdge:","abstract":"

Create and return a new collection view layout.

","parent_name":"IGListCollectionViewLayout"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)dataSource":{"name":"dataSource","abstract":"

A data source that transforms a top-level object into view models, and returns cells and sizes for given view models.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)selectionDelegate":{"name":"selectionDelegate","abstract":"

A delegate that receives selection events from cells in an IGListBindingSectionController instance.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)object":{"name":"object","abstract":"

The object currently assigned to the section controller, if any.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)viewModels":{"name":"viewModels","abstract":"

The array of view models created from the data source. Values are changed when the top-level object changes or by","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(im)updateAnimated:completion:":{"name":"-updateAnimated:completion:","abstract":"

Tells the section controller to query for new view models, diff the changes, and update its cells.

","parent_name":"IGListBindingSectionController"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)insertSections":{"name":"insertSections","abstract":"

Section insert indexes.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)deleteSections":{"name":"deleteSections","abstract":"

Section delete indexes.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)moveSections":{"name":"moveSections","abstract":"

Section moves.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)insertIndexPaths":{"name":"insertIndexPaths","abstract":"

Item insert index paths.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)deleteIndexPaths":{"name":"deleteIndexPaths","abstract":"

Item delete index paths.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)moveIndexPaths":{"name":"moveIndexPaths","abstract":"

Item moves.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(im)initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:moveIndexPaths:":{"name":"-initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:moveIndexPaths:","abstract":"

Creates a new batch update object with section and item operations.

","parent_name":"IGListBatchUpdateData"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)delegate":{"name":"delegate","abstract":"

The delegate that receives events with data on the performance of a transition.

","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)movesAsDeletesInserts":{"name":"movesAsDeletesInserts","abstract":"

A flag indicating if a move should be treated as a delete, then insert operation.

","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)allowsBackgroundReloading":{"name":"allowsBackgroundReloading","abstract":"

A flag indicating whether this updater should skip diffing and simply call","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)experiments":{"name":"experiments","abstract":"

A bitmask of experiments to conduct on the updater.

","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)viewController":{"name":"viewController","abstract":"

The view controller that houses the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)collectionView":{"name":"collectionView","abstract":"

The collection view used with the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)dataSource":{"name":"dataSource","abstract":"

The object that acts as the data source for the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)delegate":{"name":"delegate","abstract":"

The object that receives top-level events for section controllers.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)collectionViewDelegate":{"name":"collectionViewDelegate","abstract":"

The object that receives UICollectionViewDelegate events.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)scrollViewDelegate":{"name":"scrollViewDelegate","abstract":"

The object that receives UIScrollViewDelegate events.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)updater":{"name":"updater","abstract":"

The updater for the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)experiments":{"name":"experiments","abstract":"

A bitmask of experiments to conduct on the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)initWithUpdater:viewController:workingRangeSize:":{"name":"-initWithUpdater:viewController:workingRangeSize:","abstract":"

Initializes a new IGListAdapter object.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)initWithUpdater:viewController:":{"name":"-initWithUpdater:viewController:","abstract":"

Initializes a new IGListAdapter object with a working range of 0.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)performUpdatesAnimated:completion:":{"name":"-performUpdatesAnimated:completion:","abstract":"

Perform an update from the previous state of the data source. This is analogous to calling","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadDataWithCompletion:":{"name":"-reloadDataWithCompletion:","abstract":"

Perform an immediate reload of the data in the data source, discarding the old objects.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadObjects:":{"name":"-reloadObjects:","abstract":"

Reload the list for only the specified objects.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionControllerForSection:":{"name":"-sectionControllerForSection:","abstract":"

Query the section controller at a given section index. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionForSectionController:":{"name":"-sectionForSectionController:","abstract":"

Query the section index of a list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionControllerForObject:":{"name":"-sectionControllerForObject:","abstract":"

Returns the section controller for the specified object. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objectForSectionController:":{"name":"-objectForSectionController:","abstract":"

Returns the object corresponding to the specified section controller in the list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objectAtSection:":{"name":"-objectAtSection:","abstract":"

Returns the object corresponding to a section in the list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionForObject:":{"name":"-sectionForObject:","abstract":"

Returns the section corresponding to the specified object in the list. Constant time lookup.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objects":{"name":"-objects","abstract":"

Returns a copy of all the objects currently driving the adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleSectionControllers":{"name":"-visibleSectionControllers","abstract":"

An unordered array of the currently visible section controllers.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleObjects":{"name":"-visibleObjects","abstract":"

An unordered array of the currently visible objects.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleCellsForObject:":{"name":"-visibleCellsForObject:","abstract":"

An unordered array of the currently visible cells for a given object.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)scrollToObject:supplementaryKinds:scrollDirection:scrollPosition:animated:":{"name":"-scrollToObject:supplementaryKinds:scrollDirection:scrollPosition:animated:","abstract":"

Scrolls to the specified object in the list adapter.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sizeForItemAtIndexPath:":{"name":"-sizeForItemAtIndexPath:","abstract":"

Returns the size of a cell at the specified index path.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sizeForSupplementaryViewOfKind:atIndexPath:":{"name":"-sizeForSupplementaryViewOfKind:atIndexPath:","abstract":"

Returns the size of a supplementary view in the list at the specified index path.

","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html":{"name":"IGListAdapter","abstract":"

IGListAdapter objects provide an abstraction for feeds of objects in a UICollectionView by breaking each object"},"Classes/IGListAdapterUpdater.html":{"name":"IGListAdapterUpdater","abstract":"

An IGListAdapterUpdater is a concrete type that conforms to IGListUpdatingDelegate."},"Classes/IGListBatchUpdateData.html":{"name":"IGListBatchUpdateData","abstract":"

An instance of IGListBatchUpdateData takes section indexes and item index paths"},"Classes/IGListBindingSectionController.html":{"name":"IGListBindingSectionController","abstract":"

This section controller uses a data source to transform its top level object into an array of diffable view models."},"Classes/IGListCollectionViewLayout.html":{"name":"IGListCollectionViewLayout","abstract":"

This UICollectionViewLayout subclass is for vertically-scrolling lists of data with variable widths and heights. It"},"Classes/IGListGenericSectionController.html":{"name":"IGListGenericSectionController","abstract":"

This class adds a helper layer to IGListSectionController\u0010 to automatically store a generic object in"},"Classes/IGListIndexPathResult.html":{"name":"IGListIndexPathResult","abstract":"

A result object returned when diffing with sections.

"},"Classes/IGListIndexSetResult.html":{"name":"IGListIndexSetResult","abstract":"

A result object returned when diffing with indexes.

"},"Classes/IGListMoveIndex.html":{"name":"IGListMoveIndex","abstract":"

An object representing a move between indexes.

"},"Classes/IGListMoveIndexPath.html":{"name":"IGListMoveIndexPath","abstract":"

An object representing a move between indexes.

"},"Classes.html#/c:objc(cs)IGListReloadDataUpdater":{"name":"IGListReloadDataUpdater","abstract":"

An IGListReloadDataUpdater is a concrete type that conforms to IGListUpdatingDelegate."},"Classes/IGListSectionController.html":{"name":"IGListSectionController","abstract":"

The base class for section controllers used in a list. This class is intended to be subclassed.

"},"Classes/IGListSingleSectionController.html":{"name":"IGListSingleSectionController","abstract":"

This section controller is meant to make building simple, single-cell lists easier. By providing the type of cell, a block"},"Classes/IGListStackedSectionController.html":{"name":"IGListStackedSectionController","abstract":"

An instance of IGListStackedSectionController is a clustered section controller, composed of many child section"},"Categories.html#/c:objc(cy)NSNumber@IGListDiffable":{"name":"NSNumber(IGListDiffable)","abstract":"

This category provides default IGListDiffable conformance for NSNumber.

"},"Categories.html#/c:objc(cy)NSString@IGListDiffable":{"name":"NSString(IGListDiffable)","abstract":"

This category provides default IGListDiffable conformance for NSString.

"},"best-practices-and-faq.html":{"name":"Best Practices and FAQ"},"getting-started.html":{"name":"Getting Started"},"iglistdiffable-and-equality.html":{"name":"IGListDiffable and Equality"},"installation.html":{"name":"Installation"},"migration.html":{"name":"Migration"},"vision.html":{"name":"VISION"},"working-with-core-data.html":{"name":"Working with Core Data"},"working-with-uicollectionview.html":{"name":"Working with UICollectionView"},"Guides.html":{"name":"Guides","abstract":"

The following guides are available globally.

"},"Categories.html":{"name":"Categories","abstract":"

The following categories are available globally.

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enums","abstract":"

The following enums are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Type Definitions.html":{"name":"Type Definitions","abstract":"

The following type definitions are available globally.

"},"Functions.html":{"name":"Functions","abstract":"

The following functions are available globally.

"}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 64adf776a..e0e038d06 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -1,19 +1,19 @@ { "warnings": [ { - "file": "/Users/jesse/GitHub/IGListKit/IGListKit/IGListDiff.h", + "file": "/Users/jsquires/Develop/IGListKit/IGListKit/IGListDiff.h", "line": 21, "symbol": "IGListDiffOption", "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", "warning": "undocumented" }, { - "file": "/Users/jesse/GitHub/IGListKit/IGListKit/IGListExperiments.h", + "file": "/Users/jsquires/Develop/IGListKit/IGListKit/IGListExperiments.h", "line": 17, "symbol": "IGListExperiment", "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", "warning": "undocumented" } ], - "source_directory": "/Users/jesse/GitHub/IGListKit" + "source_directory": "/Users/jsquires/Develop/IGListKit" } \ No newline at end of file diff --git a/docs/vision.html b/docs/vision.html index df0071a8b..9cef878e6 100644 --- a/docs/vision.html +++ b/docs/vision.html @@ -276,8 +276,8 @@

Communication

diff --git a/docs/working-with-core-data.html b/docs/working-with-core-data.html index 5db00a5d4..9914ee1e8 100644 --- a/docs/working-with-core-data.html +++ b/docs/working-with-core-data.html @@ -253,7 +253,7 @@

Further discussion

There are further discussions on this topic at #460, #461, #407.

Basic Setup

-

The basic setup for Core Data and IGListKit is the same as the normal setup that is found in the [Getting Started Guide][https://instagram.github.io/IGListKit/getting-started.html]. The main difference will be in the setup of the model in the datasource.

+

The basic setup for Core Data and IGListKit is the same as the normal setup that is found in the Getting Started Guide. The main difference will be in the setup of the model in the datasource.

Working with view model

Creating a view model

@@ -381,8 +381,8 @@

Reacting to Core Da diff --git a/docs/working-with-uicollectionview.html b/docs/working-with-uicollectionview.html index b1c5357c4..b9bc481e8 100644 --- a/docs/working-with-uicollectionview.html +++ b/docs/working-with-uicollectionview.html @@ -295,8 +295,8 @@

Performance

diff --git a/build_docs.sh b/scripts/build_docs.sh similarity index 100% rename from build_docs.sh rename to scripts/build_docs.sh