From 895de471bac0b04fa4d255ccf138b748defc5456 Mon Sep 17 00:00:00 2001
From: Jesse Squires 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. Specifies no experiements. Specifies no experiments. 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. The section controller the selection occured in. The section controller the selection occurred in. 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.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
Return Value
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
Declaration
Return Value
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
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
@@ -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
See discussion at #184.
--peformUpdatesAnimated: completion:
is super slow. What do I do?-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:
.
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.
IGListKit
does still use UICollectionView
‘s cell reuse, so you shouldn’t be concerned about performance.
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
.
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.
-isEqual:
you must override -hash
. Check out this article by Mike Ash for details.objc_msgSend(...)
calls and value comparisons if checking the same instance.nil
before -isEqual:
. For example, [nil isEqual:nil]
unintuitively returns NO
. Instead, do left == right || [left isEqual:right]
.nil
before -isEqual:
. For example, [nil isEqual:nil]
counterintuitively returns NO
. Instead, do left == right || [left isEqual:right]
.[self.array isEqual:other.array] && self.intVal == other.intVal
is extremely wasteful if the intVal
values are different. Use lazy evaluation!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.
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.
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.
IGListKit
is BSD-licensed. We also provide an additional patent grant.
IGprefix 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
removedIGListDiffab
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
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
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 @@
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":"