IGListKit/docs/search.json
Tim Oliver 894c34db05 Updated the IGListKit docs to v5.2.0 (#1656)
Summary:
## Changes in this pull request

Updates the IGListKit docs to the latest API spec in v5.2.0

### Checklist

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/main/.github/CONTRIBUTING.md)

Pull Request resolved: https://github.com/instagram/IGListKit/pull/1656

Reviewed By: jurmarcus

Differential Revision: D93350284

Pulled By: TimOliver

fbshipit-source-id: fa4276caae7309f3ef0fd78f5a0c4bcc05d9cb9f
2026-02-16 23:54:31 -08:00

1 line
No EOL
108 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"Structs/IGListCollectionScrollingTraits.html#/c:@S@IGListCollectionScrollingTraits@FI@isTracking":{"name":"isTracking","abstract":"\u003cp\u003ereturns YES if user has touched. may not yet have started dragging.\u003c/p\u003e","parent_name":"IGListCollectionScrollingTraits"},"Structs/IGListCollectionScrollingTraits.html#/c:@S@IGListCollectionScrollingTraits@FI@isDragging":{"name":"isDragging","abstract":"\u003cp\u003ereturns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging\u003c/p\u003e","parent_name":"IGListCollectionScrollingTraits"},"Structs/IGListCollectionScrollingTraits.html#/c:@S@IGListCollectionScrollingTraits@FI@isDecelerating":{"name":"isDecelerating","abstract":"\u003cp\u003ereturns YES if user isn\u0026rsquo;t dragging (touch up) but scroll view is still moving.\u003c/p\u003e","parent_name":"IGListCollectionScrollingTraits"},"Structs/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@enabled":{"name":"enabled","abstract":"\u003cp\u003eEnable adaptive coalescing, where we try to mininimize the update delay\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Structs/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@minInterval":{"name":"minInterval","abstract":"\u003cp\u003eStart coalescing if the last update was within this interval\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Structs/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@intervalIncrement":{"name":"intervalIncrement","abstract":"\u003cp\u003eIf we need to coalesce, increase the interval by this much for next time.\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Structs/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@maxInterval":{"name":"maxInterval","abstract":"\u003cp\u003eThis is the maximum coalesce interval, so the slowest and update can wait.\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Structs/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@useMaxIntervalWhenViewNotVisible":{"name":"useMaxIntervalWhenViewNotVisible","abstract":"\u003cp\u003eCoalece using \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@maxInterval\"\u003emaxInterval\u003c/a\u003e\u003c/code\u003e if view is not visible according to \u003ccode\u003eIGListViewVisibilityTracker\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Structs/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@enabled":{"name":"enabled","abstract":"\u003cp\u003eEnabled experimental code path. This needs to be enabled for the other properties to take effect.\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Structs/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@higherQOSEnabled":{"name":"higherQOSEnabled","abstract":"\u003cp\u003eEnable higher background thread priority\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Structs/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@maxItemCountToRunOnMain":{"name":"maxItemCountToRunOnMain","abstract":"\u003cp\u003eIf both item counts are under this number, we\u0026rsquo;ll run the diffing on the main thread.\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Structs/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@lowerPriorityWhenViewNotVisible":{"name":"lowerPriorityWhenViewNotVisible","abstract":"\u003cp\u003eLower QOS if view is not visible according to \u003ccode\u003eIGListViewVisibilityTracker\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Structs/IGListAdaptiveDiffingExperimentConfig.html":{"name":"IGListAdaptiveDiffingExperimentConfig","abstract":"\u003cp\u003eCustomize how diffing is performed\u003c/p\u003e"},"Structs/IGListAdaptiveCoalescingExperimentConfig.html":{"name":"IGListAdaptiveCoalescingExperimentConfig","abstract":"\u003cp\u003eCustomize how coalescing works to speed up some updates\u003c/p\u003e"},"Structs/IGListCollectionScrollingTraits.html":{"name":"IGListCollectionScrollingTraits","abstract":"\u003cp\u003eThe current scrolling traits of the underlying collection view."},"Functions.html#/c:@F@IGListDiff":{"name":"IGListDiff","abstract":"\u003cp\u003eCreates a diff using indexes between two collections.\u003c/p\u003e"},"Functions.html#/c:@F@IGListDiffPaths":{"name":"IGListDiffPaths","abstract":"\u003cp\u003eCreates a diff using index paths between two collections.\u003c/p\u003e"},"Functions.html#/c:IGListExperiments.h@F@IGListExperimentEnabled":{"name":"IGListExperimentEnabled","abstract":"\u003cp\u003eCheck if an experiment is enabled in a bitmask.\u003c/p\u003e"},"Type%20Definitions/IGListCollectionScrollingTraits/IGListCollectionScrollingTraits.html#/c:@S@IGListCollectionScrollingTraits@FI@isTracking":{"name":"isTracking","abstract":"\u003cp\u003ereturns YES if user has touched. may not yet have started dragging.\u003c/p\u003e","parent_name":"IGListCollectionScrollingTraits"},"Type%20Definitions/IGListCollectionScrollingTraits/IGListCollectionScrollingTraits.html#/c:@S@IGListCollectionScrollingTraits@FI@isDragging":{"name":"isDragging","abstract":"\u003cp\u003ereturns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging\u003c/p\u003e","parent_name":"IGListCollectionScrollingTraits"},"Type%20Definitions/IGListCollectionScrollingTraits/IGListCollectionScrollingTraits.html#/c:@S@IGListCollectionScrollingTraits@FI@isDecelerating":{"name":"isDecelerating","abstract":"\u003cp\u003ereturns YES if user isn\u0026rsquo;t dragging (touch up) but scroll view is still moving.\u003c/p\u003e","parent_name":"IGListCollectionScrollingTraits"},"Type%20Definitions/IGListCollectionScrollingTraits/IGListCollectionScrollingTraits.html":{"name":"IGListCollectionScrollingTraits","abstract":"\u003cp\u003eThe current scrolling traits of the underlying collection view.","parent_name":"IGListCollectionScrollingTraits"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@enabled":{"name":"enabled","abstract":"\u003cp\u003eEnable adaptive coalescing, where we try to mininimize the update delay\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@minInterval":{"name":"minInterval","abstract":"\u003cp\u003eStart coalescing if the last update was within this interval\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@intervalIncrement":{"name":"intervalIncrement","abstract":"\u003cp\u003eIf we need to coalesce, increase the interval by this much for next time.\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@maxInterval":{"name":"maxInterval","abstract":"\u003cp\u003eThis is the maximum coalesce interval, so the slowest and update can wait.\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig/IGListAdaptiveCoalescingExperimentConfig.html#/c:@S@IGListAdaptiveCoalescingExperimentConfig@FI@useMaxIntervalWhenViewNotVisible":{"name":"useMaxIntervalWhenViewNotVisible","abstract":"\u003cp\u003eCoalece using \u003ccode\u003emaxInterval\u003c/code\u003e if view is not visible according to \u003ccode\u003eIGListViewVisibilityTracker\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig/IGListAdaptiveCoalescingExperimentConfig.html":{"name":"IGListAdaptiveCoalescingExperimentConfig","abstract":"\u003cp\u003eCustomize how coalescing works to speed up some updates\u003c/p\u003e","parent_name":"IGListAdaptiveCoalescingExperimentConfig"},"Type%20Definitions/IGListAdaptiveDiffingExperimentConfig/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@enabled":{"name":"enabled","abstract":"\u003cp\u003eEnabled experimental code path. This needs to be enabled for the other properties to take effect.\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Type%20Definitions/IGListAdaptiveDiffingExperimentConfig/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@higherQOSEnabled":{"name":"higherQOSEnabled","abstract":"\u003cp\u003eEnable higher background thread priority\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Type%20Definitions/IGListAdaptiveDiffingExperimentConfig/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@maxItemCountToRunOnMain":{"name":"maxItemCountToRunOnMain","abstract":"\u003cp\u003eIf both item counts are under this number, we\u0026rsquo;ll run the diffing on the main thread.\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Type%20Definitions/IGListAdaptiveDiffingExperimentConfig/IGListAdaptiveDiffingExperimentConfig.html#/c:@S@IGListAdaptiveDiffingExperimentConfig@FI@lowerPriorityWhenViewNotVisible":{"name":"lowerPriorityWhenViewNotVisible","abstract":"\u003cp\u003eLower QOS if view is not visible according to \u003ccode\u003eIGListViewVisibilityTracker\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Type%20Definitions/IGListAdaptiveDiffingExperimentConfig/IGListAdaptiveDiffingExperimentConfig.html":{"name":"IGListAdaptiveDiffingExperimentConfig","abstract":"\u003cp\u003eCustomize how diffing is performed\u003c/p\u003e","parent_name":"IGListAdaptiveDiffingExperimentConfig"},"Type%20Definitions/IGListAdaptiveDiffingExperimentConfig.html":{"name":"IGListAdaptiveDiffingExperimentConfig","abstract":"\u003cp\u003eCustomize how diffing is performed\u003c/p\u003e"},"Type%20Definitions/IGListAdaptiveCoalescingExperimentConfig.html":{"name":"IGListAdaptiveCoalescingExperimentConfig","abstract":"\u003cp\u003eCustomize how coalescing works to speed up some updates\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListAdapter.h@T@IGListUpdaterCompletion":{"name":"IGListUpdaterCompletion","abstract":"\u003cp\u003eA block to execute when the list updates are completed.\u003c/p\u003e"},"Type%20Definitions/IGListCollectionScrollingTraits.html":{"name":"IGListCollectionScrollingTraits","abstract":"\u003cp\u003eThe current scrolling traits of the underlying collection view."},"Type%20Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellConfigureBlock":{"name":"IGListSingleSectionCellConfigureBlock","abstract":"\u003cp\u003eA block used to configure cells.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellSizeBlock":{"name":"IGListSingleSectionCellSizeBlock","abstract":"\u003cp\u003eA block that returns the size for the cell given the collection context.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListUpdatingCompletion":{"name":"IGListUpdatingCompletion","abstract":"\u003cp\u003eA completion block to execute when updates are finished.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListObjectTransitionBlock":{"name":"IGListObjectTransitionBlock","abstract":"\u003cp\u003eA block to be called when the adapter applies changes to the collection view.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListItemUpdateBlock":{"name":"IGListItemUpdateBlock","abstract":"\u003cp\u003eA block that contains all of the updates.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListReloadUpdateBlock":{"name":"IGListReloadUpdateBlock","abstract":"\u003cp\u003eA block to be called when an adapter reloads the collection view.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListToObjectBlock":{"name":"IGListToObjectBlock","abstract":"\u003cp\u003eA block that returns an array of objects to transition to.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListCollectionViewBlock":{"name":"IGListCollectionViewBlock","abstract":"\u003cp\u003eA block that returns a collection view to perform updates on.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListDataSourceChangeBlock":{"name":"IGListDataSourceChangeBlock","abstract":"\u003cp\u003eA block that applies a \u003ccode\u003eUICollectionView\u003c/code\u003e dataSource change\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListTransitionDataBlock":{"name":"IGListTransitionDataBlock","abstract":"\u003cp\u003eA block that returns the \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListTransitionData.html\"\u003eIGListTransitionData\u003c/a\u003e\u003c/code\u003e needed before an update.\u003c/p\u003e"},"Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListTransitionDataApplyBlock":{"name":"IGListTransitionDataApplyBlock","abstract":"\u003cp\u003eA block to be called when the adapter applies changes to the collection view.\u003c/p\u003e"},"Protocols/IGListWorkingRangeDelegate.html#/c:objc(pl)IGListWorkingRangeDelegate(im)listAdapter:sectionControllerWillEnterWorkingRange:":{"name":"-listAdapter:sectionControllerWillEnterWorkingRange:","abstract":"\u003cp\u003eNotifies the delegate that an section controller will enter the working range.\u003c/p\u003e","parent_name":"IGListWorkingRangeDelegate"},"Protocols/IGListWorkingRangeDelegate.html#/c:objc(pl)IGListWorkingRangeDelegate(im)listAdapter:sectionControllerDidExitWorkingRange:":{"name":"-listAdapter:sectionControllerDidExitWorkingRange:","abstract":"\u003cp\u003eNotifies the delegate that an section controller exited the working range.\u003c/p\u003e","parent_name":"IGListWorkingRangeDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)objectLookupPointerFunctions":{"name":"-objectLookupPointerFunctions","abstract":"\u003cp\u003eAsks the delegate for the pointer functions for looking up an object in a collection.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performUpdateWithCollectionViewBlock:animated:sectionDataBlock:applySectionDataBlock:completion:":{"name":"-performUpdateWithCollectionViewBlock:animated:sectionDataBlock:applySectionDataBlock:completion:","abstract":"\u003cp\u003ePerform a \u003cstrong\u003esection\u003c/strong\u003e update from an old array of objects to a new one.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performUpdateWithCollectionViewBlock:animated:itemUpdates:completion:":{"name":"-performUpdateWithCollectionViewBlock:animated:itemUpdates:completion:","abstract":"\u003cp\u003ePerform an \u003cstrong\u003eitem\u003c/strong\u003e update block in the collection view.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)performDataSourceChange:":{"name":"-performDataSourceChange:","abstract":"\u003cp\u003ePerform a \u003ccode\u003e[UICollectionView setDataSource:...]\u003c/code\u003e swap within this block. It gives the updater the chance to cancel or","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadDataWithCollectionViewBlock:reloadUpdateBlock:completion:":{"name":"-reloadDataWithCollectionViewBlock:reloadUpdateBlock:completion:","abstract":"\u003cp\u003eCompletely reload data in the collection.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)insertItemsIntoCollectionView:indexPaths:":{"name":"-insertItemsIntoCollectionView:indexPaths:","abstract":"\u003cp\u003eTells the delegate to perform item inserts at the given index paths.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)deleteItemsFromCollectionView:indexPaths:":{"name":"-deleteItemsFromCollectionView:indexPaths:","abstract":"\u003cp\u003eTells the delegate to perform item deletes at the given index paths.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)moveItemInCollectionView:fromIndexPath:toIndexPath:":{"name":"-moveItemInCollectionView:fromIndexPath:toIndexPath:","abstract":"\u003cp\u003eTells the delegate to move an item from and to given index paths.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadItemInCollectionView:fromIndexPath:toIndexPath:":{"name":"-reloadItemInCollectionView:fromIndexPath:toIndexPath:","abstract":"\u003cp\u003eTells the delegate to reload an item from and to given index paths.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)moveSectionInCollectionView:fromIndex:toIndex:":{"name":"-moveSectionInCollectionView:fromIndex:toIndex:","abstract":"\u003cp\u003eTells the delegate to move a section from and to given indexes.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)reloadCollectionView:sections:":{"name":"-reloadCollectionView:sections:","abstract":"\u003cp\u003eCompletely reload each section in the collection view.\u003c/p\u003e","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)isInDataUpdateBlock":{"name":"-isInDataUpdateBlock","abstract":"\u003cp\u003eTrue if the updater is currently updating the source of truth, like executing applySectionDataBlock and","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListUpdatingDelegate.html#/c:objc(pl)IGListUpdatingDelegate(im)willCrashWithCollectionView:sectionControllerClass:":{"name":"-willCrashWithCollectionView:sectionControllerClass:","abstract":"\u003cp\u003eCalled when the updater detects an imminent crash, such as when a section controller returns a nil cell.","parent_name":"IGListUpdatingDelegate"},"Protocols/IGListTransitionDelegate.html#/c:objc(pl)IGListTransitionDelegate(im)listAdapter:customizedInitialLayoutAttributes:sectionController:atIndex:":{"name":"-listAdapter:customizedInitialLayoutAttributes:sectionController:atIndex:","abstract":"\u003cp\u003eAsks the delegate to customize and return the starting layout information for an item being inserted into the collection view.\u003c/p\u003e","parent_name":"IGListTransitionDelegate"},"Protocols/IGListTransitionDelegate.html#/c:objc(pl)IGListTransitionDelegate(im)listAdapter:customizedFinalLayoutAttributes:sectionController:atIndex:":{"name":"-listAdapter:customizedFinalLayoutAttributes:sectionController:atIndex:","abstract":"\u003cp\u003eAsks the delegate to customize and return the final layout information for an item that is about to be removed from the collection view.\u003c/p\u003e","parent_name":"IGListTransitionDelegate"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)supportedElementKinds":{"name":"-supportedElementKinds","abstract":"\u003cp\u003eAsks the SupplementaryViewSource for an array of supported element kinds.\u003c/p\u003e","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)viewForSupplementaryElementOfKind:atIndex:":{"name":"-viewForSupplementaryElementOfKind:atIndex:","abstract":"\u003cp\u003eAsks the SupplementaryViewSource for a configured supplementary view for the specified kind and index.\u003c/p\u003e","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSupplementaryViewSource.html#/c:objc(pl)IGListSupplementaryViewSource(im)sizeForSupplementaryViewOfKind:atIndex:":{"name":"-sizeForSupplementaryViewOfKind:atIndex:","abstract":"\u003cp\u003eAsks the SupplementaryViewSource for the size of a supplementary view for the given kind and index path.\u003c/p\u003e","parent_name":"IGListSupplementaryViewSource"},"Protocols/IGListSingleSectionControllerDelegate.html#/c:objc(pl)IGListSingleSectionControllerDelegate(im)didSelectSectionController:withObject:":{"name":"-didSelectSectionController:withObject:","abstract":"\u003cp\u003eTells the delegate that the section controller was selected.\u003c/p\u003e","parent_name":"IGListSingleSectionControllerDelegate"},"Protocols/IGListSingleSectionControllerDelegate.html#/c:objc(pl)IGListSingleSectionControllerDelegate(im)didDeselectSectionController:withObject:":{"name":"-didDeselectSectionController:withObject:","abstract":"\u003cp\u003eTells the delegate that the section controller was deselected.\u003c/p\u003e","parent_name":"IGListSingleSectionControllerDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didScrollSectionController:":{"name":"-listAdapter:didScrollSectionController:","abstract":"\u003cp\u003eTells the delegate that the section controller was scrolled on screen.\u003c/p\u003e","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:willBeginDraggingSectionController:":{"name":"-listAdapter:willBeginDraggingSectionController:","abstract":"\u003cp\u003eTells the delegate that the section controller will be dragged on screen.\u003c/p\u003e","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didEndDraggingSectionController:willDecelerate:":{"name":"-listAdapter:didEndDraggingSectionController:willDecelerate:","abstract":"\u003cp\u003eTells the delegate that the section controller did end dragging on screen.\u003c/p\u003e","parent_name":"IGListScrollDelegate"},"Protocols/IGListScrollDelegate.html#/c:objc(pl)IGListScrollDelegate(im)listAdapter:didEndDeceleratingSectionController:":{"name":"-listAdapter:didEndDeceleratingSectionController:","abstract":"\u003cp\u003eTells the delegate that the section controller did end decelerating on screen.\u003c/p\u003e","parent_name":"IGListScrollDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:willDisplaySectionController:":{"name":"-listAdapter:willDisplaySectionController:","abstract":"\u003cp\u003eTells the delegate that the specified section controller is about to be displayed.\u003c/p\u003e","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:didEndDisplayingSectionController:":{"name":"-listAdapter:didEndDisplayingSectionController:","abstract":"\u003cp\u003eTells the delegate that the specified section controller is no longer being displayed.\u003c/p\u003e","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:willDisplaySectionController:cell:atIndex:":{"name":"-listAdapter:willDisplaySectionController:cell:atIndex:","abstract":"\u003cp\u003eTells the delegate that a cell in the specified list is about to be displayed.\u003c/p\u003e","parent_name":"IGListDisplayDelegate"},"Protocols/IGListDisplayDelegate.html#/c:objc(pl)IGListDisplayDelegate(im)listAdapter:didEndDisplayingSectionController:cell:atIndex:":{"name":"-listAdapter:didEndDisplayingSectionController:cell:atIndex:","abstract":"\u003cp\u003eTells the delegate that a cell in the specified list is no longer being displayed.\u003c/p\u003e","parent_name":"IGListDisplayDelegate"},"Protocols/IGListCollectionViewLayoutCompatible.html#/c:objc(pl)IGListCollectionViewLayoutCompatible(im)didModifySection:":{"name":"-didModifySection:","abstract":"\u003cp\u003eCalled to notify the layout that a specific section was modified before invalidation. This can be used to optimize","parent_name":"IGListCollectionViewLayoutCompatible"},"Protocols/IGListCollectionViewDelegateLayout.html#/c:objc(pl)IGListCollectionViewDelegateLayout(im)collectionView:layout:customizedInitialLayoutAttributes:atIndexPath:":{"name":"-collectionView:layout:customizedInitialLayoutAttributes:atIndexPath:","abstract":"\u003cp\u003eAsks the delegate to customize and return the starting layout information for an item being inserted into the collection view.\u003c/p\u003e","parent_name":"IGListCollectionViewDelegateLayout"},"Protocols/IGListCollectionViewDelegateLayout.html#/c:objc(pl)IGListCollectionViewDelegateLayout(im)collectionView:layout:customizedFinalLayoutAttributes:atIndexPath:":{"name":"-collectionView:layout:customizedFinalLayoutAttributes:atIndexPath:","abstract":"\u003cp\u003eAsks the delegate to customize and return the final layout information for an item that is about to be removed from the collection view.\u003c/p\u003e","parent_name":"IGListCollectionViewDelegateLayout"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerSize":{"name":"containerSize","abstract":"\u003cp\u003eThe size of the collection view. You can use this for sizing cells.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerInset":{"name":"containerInset","abstract":"\u003cp\u003eThe content insets of the collection view. You can use this for sizing cells.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)adjustedContainerInset":{"name":"adjustedContainerInset","abstract":"\u003cp\u003eThe adjusted content insets of the collection view. Equivalent to containerInset under iOS 11.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)insetContainerSize":{"name":"insetContainerSize","abstract":"\u003cp\u003eThe size of the collection view with content insets applied.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)containerContentOffset":{"name":"containerContentOffset","abstract":"\u003cp\u003eThe content offset of the collection view.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)traitCollection":{"name":"traitCollection","abstract":"\u003cp\u003eThe trait collection of the collection view.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)scrollingTraits":{"name":"scrollingTraits","abstract":"\u003cp\u003eThe current scrolling traits of the underlying collection view.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(py)experiments":{"name":"experiments","abstract":"\u003cp\u003eA bitmask of experiments to conduct on the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)containerSizeForSectionController:":{"name":"-containerSizeForSectionController:","abstract":"\u003cp\u003eReturns size of the collection view relative to the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)indexForCell:sectionController:":{"name":"-indexForCell:sectionController:","abstract":"\u003cp\u003eReturns the index of the specified cell in the collection relative to the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)cellForItemAtIndex:sectionController:":{"name":"-cellForItemAtIndex:sectionController:","abstract":"\u003cp\u003eReturns the cell in the collection at the specified index for the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)viewForSupplementaryElementOfKind:atIndex:sectionController:":{"name":"-viewForSupplementaryElementOfKind:atIndex:sectionController:","abstract":"\u003cp\u003eReturns the supplementary view in the collection at the specified index for the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)fullyVisibleCellsForSectionController:":{"name":"-fullyVisibleCellsForSectionController:","abstract":"\u003cp\u003eReturns the fully visible cells for the given section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)visibleCellsForSectionController:":{"name":"-visibleCellsForSectionController:","abstract":"\u003cp\u003eReturns the visible cells for the given section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)visibleIndexPathsForSectionController:":{"name":"-visibleIndexPathsForSectionController:","abstract":"\u003cp\u003eReturns the visible paths for the given section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)deselectItemAtIndex:sectionController:animated:":{"name":"-deselectItemAtIndex:sectionController:animated:","abstract":"\u003cp\u003eDeselects a cell in the collection.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)selectItemAtIndex:sectionController:animated:scrollPosition:":{"name":"-selectItemAtIndex:sectionController:animated:scrollPosition:","abstract":"\u003cp\u003eSelects a cell in the collection.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellOfClass:withReuseIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableCellOfClass:withReuseIdentifier:forSectionController:atIndex:","abstract":"\u003cp\u003eDequeues a cell from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellOfClass:forSectionController:atIndex:":{"name":"-dequeueReusableCellOfClass:forSectionController:atIndex:","abstract":"\u003cp\u003eDequeues a cell from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellWithNibName:bundle:forSectionController:atIndex:":{"name":"-dequeueReusableCellWithNibName:bundle:forSectionController:atIndex:","abstract":"\u003cp\u003eDequeues a cell from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableCellFromStoryboardWithIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableCellFromStoryboardWithIdentifier:forSectionController:atIndex:","abstract":"\u003cp\u003eDequeues a storyboard prototype cell from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewOfKind:forSectionController:class:atIndex:":{"name":"-dequeueReusableSupplementaryViewOfKind:forSectionController:class:atIndex:","abstract":"\u003cp\u003eDequeues a supplementary view from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewFromStoryboardOfKind:withIdentifier:forSectionController:atIndex:":{"name":"-dequeueReusableSupplementaryViewFromStoryboardOfKind:withIdentifier:forSectionController:atIndex:","abstract":"\u003cp\u003eDequeues a supplementary view from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)dequeueReusableSupplementaryViewOfKind:forSectionController:nibName:bundle:atIndex:":{"name":"-dequeueReusableSupplementaryViewOfKind:forSectionController:nibName:bundle:atIndex:","abstract":"\u003cp\u003eDequeues a supplementary view from the collection view reuse pool.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)invalidateLayoutForSectionController:completion:":{"name":"-invalidateLayoutForSectionController:completion:","abstract":"\u003cp\u003eInvalidate the backing \u003ccode\u003eUICollectionViewLayout\u003c/code\u003e for all items in the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)layoutAttributesForItemAtIndex:sectionController:":{"name":"-layoutAttributesForItemAtIndex:sectionController:","abstract":"\u003cp\u003eReturns the layout attributes for the item at the specified index in the section controller.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)performBatchAnimated:updates:completion:":{"name":"-performBatchAnimated:updates:completion:","abstract":"\u003cp\u003eBatches and performs many cell-level updates in a single transaction.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)scrollToSectionController:atIndex:scrollPosition:animated:":{"name":"-scrollToSectionController:atIndex:scrollPosition:animated:","abstract":"\u003cp\u003eScrolls to the specified section controller in the list.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)indexPathForItemAtPoint:":{"name":"-indexPathForItemAtPoint:","abstract":"\u003cp\u003eReturns the index path of the item at the specified point in the collection view.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)convertPoint:fromView:":{"name":"-convertPoint:fromView:","abstract":"\u003cp\u003eConverts a point from the coordinate system of a given view to that of the collection view.\u003c/p\u003e","parent_name":"IGListCollectionContext"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:didSelectItemAtIndex:viewModel:":{"name":"-sectionController:didSelectItemAtIndex:viewModel:","abstract":"\u003cp\u003eTells the delegate that a cell at a given index was selected.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:didDeselectItemAtIndex:viewModel:":{"name":"-sectionController:didDeselectItemAtIndex:viewModel:","abstract":"\u003cp\u003eTells the delegate that a cell at a given index was deselected.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:didHighlightItemAtIndex:viewModel:":{"name":"-sectionController:didHighlightItemAtIndex:viewModel:","abstract":"\u003cp\u003eTells the delegate that a cell at a given index was highlighted.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:didUnhighlightItemAtIndex:viewModel:":{"name":"-sectionController:didUnhighlightItemAtIndex:viewModel:","abstract":"\u003cp\u003eTells the delegate that a cell at a given index was unhighlighted.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html#/c:objc(pl)IGListBindingSectionControllerSelectionDelegate(im)sectionController:contextMenuConfigurationForItemAtIndex:point:viewModel:":{"name":"-sectionController:contextMenuConfigurationForItemAtIndex:point:viewModel:","abstract":"\u003cp\u003eTells the delegate that a cell has requested a menu configuration.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerSelectionDelegate"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:viewModelsForObject:":{"name":"-sectionController:viewModelsForObject:","abstract":"\u003cp\u003eCreate an array of view models given a top-level object.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:cellForViewModel:atIndex:":{"name":"-sectionController:cellForViewModel:atIndex:","abstract":"\u003cp\u003eReturn a dequeued cell for a given view model.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindingSectionControllerDataSource.html#/c:objc(pl)IGListBindingSectionControllerDataSource(im)sectionController:sizeForViewModel:atIndex:":{"name":"-sectionController:sizeForViewModel:atIndex:","abstract":"\u003cp\u003eReturn a cell size for a given view model.\u003c/p\u003e","parent_name":"IGListBindingSectionControllerDataSource"},"Protocols/IGListBindable.html#/c:objc(pl)IGListBindable(im)bindViewModel:":{"name":"-bindViewModel:","abstract":"\u003cp\u003eTells the cell to configure itself with the given view model.\u003c/p\u003e","parent_name":"IGListBindable"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)reloadInSectionController:atIndexes:":{"name":"-reloadInSectionController:atIndexes:","abstract":"\u003cp\u003eReloads cells in the section controller.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)insertInSectionController:atIndexes:":{"name":"-insertInSectionController:atIndexes:","abstract":"\u003cp\u003eInserts cells in the list.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)deleteInSectionController:atIndexes:":{"name":"-deleteInSectionController:atIndexes:","abstract":"\u003cp\u003eDeletes cells in the list.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)invalidateLayoutInSectionController:atIndexes:":{"name":"-invalidateLayoutInSectionController:atIndexes:","abstract":"\u003cp\u003eInvalidates layouts of cells at specific in the section controller.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)moveInSectionController:fromIndex:toIndex:":{"name":"-moveInSectionController:fromIndex:toIndex:","abstract":"\u003cp\u003eMoves a cell from one index to another within the section controller.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)reloadSectionController:":{"name":"-reloadSectionController:","abstract":"\u003cp\u003eReloads the entire section controller.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)moveSectionControllerInteractive:fromIndex:toIndex:":{"name":"-moveSectionControllerInteractive:fromIndex:toIndex:","abstract":"\u003cp\u003eMoves a section controller from one index to another during interactive reordering.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)moveInSectionControllerInteractive:fromIndex:toIndex:":{"name":"-moveInSectionControllerInteractive:fromIndex:toIndex:","abstract":"\u003cp\u003eMoves an object within a section controller from one index to another during interactive reordering.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListBatchContext.html#/c:objc(pl)IGListBatchContext(im)revertInvalidInteractiveMoveFromIndexPath:toIndexPath:":{"name":"-revertInvalidInteractiveMoveFromIndexPath:toIndexPath:","abstract":"\u003cp\u003eReverts an move from one indexPath to another during interactive reordering.\u003c/p\u003e","parent_name":"IGListBatchContext"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willDiffFromObjects:toObjects:":{"name":"-listAdapterUpdater:willDiffFromObjects:toObjects:","abstract":"\u003cp\u003eNotifies the delegate that the updater is about to beging diffing.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didDiffWithResults:onBackgroundThread:":{"name":"-listAdapterUpdater:didDiffWithResults:onBackgroundThread:","abstract":"\u003cp\u003eNotifies the delegate that the updater finished diffing.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willPerformBatchUpdatesWithCollectionView:fromObjects:toObjects:listIndexSetResult:animated:":{"name":"-listAdapterUpdater:willPerformBatchUpdatesWithCollectionView:fromObjects:toObjects:listIndexSetResult:animated:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView performBatchUpdates:completion:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didPerformBatchUpdates:collectionView:":{"name":"-listAdapterUpdater:didPerformBatchUpdates:collectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater successfully finished \u003ccode\u003e-[UICollectionView performBatchUpdates:completion:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willInsertIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willInsertIndexPaths:collectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView insertItemsAtIndexPaths:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willDeleteIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willDeleteIndexPaths:collectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView deleteItemsAtIndexPaths:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willMoveFromIndexPath:toIndexPath:collectionView:":{"name":"-listAdapterUpdater:willMoveFromIndexPath:toIndexPath:collectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView moveItemAtIndexPath:toIndexPath:]\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadIndexPaths:collectionView:":{"name":"-listAdapterUpdater:willReloadIndexPaths:collectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView reloadItemsAtIndexPaths:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadSections:collectionView:":{"name":"-listAdapterUpdater:willReloadSections:collectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView reloadSections:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willReloadDataWithCollectionView:isFallbackReload:":{"name":"-listAdapterUpdater:willReloadDataWithCollectionView:isFallbackReload:","abstract":"\u003cp\u003eNotifies the delegate that the updater will call \u003ccode\u003e-[UICollectionView reloadData]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didReloadDataWithCollectionView:isFallbackReload:":{"name":"-listAdapterUpdater:didReloadDataWithCollectionView:isFallbackReload:","abstract":"\u003cp\u003eNotifies the delegate that the updater successfully called \u003ccode\u003e-[UICollectionView reloadData]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:collectionView:willCrashWithException:fromObjects:toObjects:diffResult:updates:":{"name":"-listAdapterUpdater:collectionView:willCrashWithException:fromObjects:toObjects:diffResult:updates:","abstract":"\u003cp\u003eNotifies the delegate that the collection view threw an exception in \u003ccode\u003e-[UICollectionView performBatchUpdates:completion:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:willCrashWithCollectionView:sectionControllerClass:":{"name":"-listAdapterUpdater:willCrashWithCollectionView:sectionControllerClass:","abstract":"\u003cp\u003eNotifies the delegate that the updater detected an imminent crash, such as when a section controller returns a nil cell.","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdaterDelegate.html#/c:objc(pl)IGListAdapterUpdaterDelegate(im)listAdapterUpdater:didFinishWithoutUpdatesWithCollectionView:":{"name":"-listAdapterUpdater:didFinishWithoutUpdatesWithCollectionView:","abstract":"\u003cp\u003eNotifies the delegate that the updater finished without performing any batch updates or reloads\u003c/p\u003e","parent_name":"IGListAdapterUpdaterDelegate"},"Protocols/IGListAdapterUpdateListener.html#/c:objc(pl)IGListAdapterUpdateListener(im)listAdapter:didFinishUpdate:animated:":{"name":"-listAdapter:didFinishUpdate:animated:","abstract":"\u003cp\u003eNotifies a listener that the listAdapter was updated.\u003c/p\u003e","parent_name":"IGListAdapterUpdateListener"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapterWillCallDequeueCell:":{"name":"-listAdapterWillCallDequeueCell:","abstract":"\u003cp\u003eWill call \u003ccode\u003e-[IGListAdapter collectionView:cellForItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapter:didCallDequeueCell:onSectionController:atIndex:":{"name":"-listAdapter:didCallDequeueCell:onSectionController:atIndex:","abstract":"\u003cp\u003eDid finish calling \u003ccode\u003e-[IGListAdapter collectionView:cellForItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapterWillCallDisplayCell:":{"name":"-listAdapterWillCallDisplayCell:","abstract":"\u003cp\u003eWill call \u003ccode\u003e-[IGListAdapter collectionView:willDisplayCell:forItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapter:didCallDisplayCell:onSectionController:atIndex:":{"name":"-listAdapter:didCallDisplayCell:onSectionController:atIndex:","abstract":"\u003cp\u003eDid finish calling \u003ccode\u003e-[IGListAdapter collectionView:willDisplayCell:forItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapterWillCallEndDisplayCell:":{"name":"-listAdapterWillCallEndDisplayCell:","abstract":"\u003cp\u003eWill call \u003ccode\u003e-[IGListAdapter collectionView:didEndDisplayingCell:forItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapter:didCallEndDisplayCell:onSectionController:atIndex:":{"name":"-listAdapter:didCallEndDisplayCell:onSectionController:atIndex:","abstract":"\u003cp\u003eDid finish calling \u003ccode\u003e-[IGListAdapter collectionView:didEndDisplayingCell:forItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapterWillCallSize:":{"name":"-listAdapterWillCallSize:","abstract":"\u003cp\u003eWill call \u003ccode\u003e-[IGListAdapter collectionView:collectionViewLayout:sizeForItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapter:didCallSizeOnSectionController:atIndex:":{"name":"-listAdapter:didCallSizeOnSectionController:atIndex:","abstract":"\u003cp\u003eDid finish calling \u003ccode\u003e-[IGListAdapter collectionView:collectionViewLayout:sizeForItemAtIndexPath:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapterWillCallScroll:":{"name":"-listAdapterWillCallScroll:","abstract":"\u003cp\u003eWill call \u003ccode\u003e-[IGListAdapter scrollViewDidScroll:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterPerformanceDelegate.html#/c:objc(pl)IGListAdapterPerformanceDelegate(im)listAdapter:didCallScroll:":{"name":"-listAdapter:didCallScroll:","abstract":"\u003cp\u003eDid finish calling \u003ccode\u003e-[IGListAdapter scrollViewDidScroll:]\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterPerformanceDelegate"},"Protocols/IGListAdapterMoveDelegate.html#/c:objc(pl)IGListAdapterMoveDelegate(im)listAdapter:moveObject:from:to:":{"name":"-listAdapter:moveObject:from:to:","abstract":"\u003cp\u003eAsks the delegate to move a section object as the result of interactive reordering.\u003c/p\u003e","parent_name":"IGListAdapterMoveDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:willDisplayObject:atIndex:":{"name":"-listAdapter:willDisplayObject:atIndex:","abstract":"\u003cp\u003eNotifies the delegate that a list object is about to be displayed.\u003c/p\u003e","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:didEndDisplayingObject:atIndex:":{"name":"-listAdapter:didEndDisplayingObject:atIndex:","abstract":"\u003cp\u003eNotifies the delegate that a list object is no longer being displayed.\u003c/p\u003e","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:willDisplayObject:cell:atIndexPath:":{"name":"-listAdapter:willDisplayObject:cell:atIndexPath:","abstract":"\u003cp\u003eNotifies the delegate that a list object is about to be displayed. This method is distinct from willDisplayObject:atIndex","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDelegate.html#/c:objc(pl)IGListAdapterDelegate(im)listAdapter:didEndDisplayingObject:cell:atIndexPath:":{"name":"-listAdapter:didEndDisplayingObject:cell:atIndexPath:","abstract":"\u003cp\u003eNotifies the delegate that a list object is no longer being displayed. This method is distinct from didEndDisplayingObject:atIndex","parent_name":"IGListAdapterDelegate"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)objectsForListAdapter:":{"name":"-objectsForListAdapter:","abstract":"\u003cp\u003eAsks the data source for the objects to display in the list.\u003c/p\u003e","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)listAdapter:sectionControllerForObject:":{"name":"-listAdapter:sectionControllerForObject:","abstract":"\u003cp\u003eAsks the data source for a section controller for the specified object in the list.\u003c/p\u003e","parent_name":"IGListAdapterDataSource"},"Protocols/IGListAdapterDataSource.html#/c:objc(pl)IGListAdapterDataSource(im)emptyViewForListAdapter:":{"name":"-emptyViewForListAdapter:","abstract":"\u003cp\u003eAsks the data source for a view to use as the collection view background when the list is empty.\u003c/p\u003e","parent_name":"IGListAdapterDataSource"},"Protocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)diffIdentifier":{"name":"-diffIdentifier","abstract":"\u003cp\u003eReturns a key that uniquely identifies the object.\u003c/p\u003e","parent_name":"IGListDiffable"},"Protocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)isEqualToDiffableObject:":{"name":"-isEqualToDiffableObject:","abstract":"\u003cp\u003eReturns whether the receiver and a given object are equal.\u003c/p\u003e","parent_name":"IGListDiffable"},"Protocols/IGListDiffable.html":{"name":"IGListDiffable","abstract":"\u003cp\u003eThe \u003ccode\u003eIGListDiffable\u003c/code\u003e protocol provides methods needed to compare the identity and equality of two objects.\u003c/p\u003e"},"Protocols/IGListAdapterDataSource.html":{"name":"IGListAdapterDataSource","abstract":"\u003cp\u003eImplement this protocol to provide data to an \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html\"\u003eIGListAdapter\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e"},"Protocols/IGListAdapterDelegate.html":{"name":"IGListAdapterDelegate","abstract":"\u003cp\u003eConform to \u003ccode\u003eIGListAdapterDelegate\u003c/code\u003e to receive display events for objects in a list.\u003c/p\u003e"},"Protocols/IGListAdapterMoveDelegate.html":{"name":"IGListAdapterMoveDelegate","abstract":"\u003cp\u003eConform to \u003ccode\u003eIGListAdapterMoveDelegate\u003c/code\u003e to receive interactive reordering requests.\u003c/p\u003e"},"Protocols/IGListAdapterPerformanceDelegate.html":{"name":"IGListAdapterPerformanceDelegate","abstract":"\u003cp\u003e\u003ccode\u003eIGListAdapterPerformanceDelegate\u003c/code\u003e can be used to measure cell dequeue, display, size, and scroll callbacks.\u003c/p\u003e"},"Protocols/IGListAdapterUpdateListener.html":{"name":"IGListAdapterUpdateListener","abstract":"\u003cp\u003eConform to this protocol to receive events about \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html\"\u003eIGListAdapter\u003c/a\u003e\u003c/code\u003e updates.\u003c/p\u003e"},"Protocols/IGListAdapterUpdaterDelegate.html":{"name":"IGListAdapterUpdaterDelegate","abstract":"\u003cp\u003eA protocol that receives events about \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapterUpdater.html\"\u003eIGListAdapterUpdater\u003c/a\u003e\u003c/code\u003e operations.\u003c/p\u003e"},"Protocols/IGListBatchContext.html":{"name":"IGListBatchContext","abstract":"\u003cp\u003eObjects conforming to the IGListBatchContext protocol provide a way for section controllers to mutate their cells or"},"Protocols/IGListBindable.html":{"name":"IGListBindable","abstract":"\u003cp\u003eA protocol for cells that configure themselves given a view model.\u003c/p\u003e"},"Protocols/IGListBindingSectionControllerDataSource.html":{"name":"IGListBindingSectionControllerDataSource","abstract":"\u003cp\u003eA protocol that returns data to power cells in an \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListBindingSectionController.html\"\u003eIGListBindingSectionController\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e"},"Protocols/IGListBindingSectionControllerSelectionDelegate.html":{"name":"IGListBindingSectionControllerSelectionDelegate","abstract":"\u003cp\u003eA protocol that handles cell selection events in an \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListBindingSectionController.html\"\u003eIGListBindingSectionController\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e"},"Protocols/IGListCollectionContext.html":{"name":"IGListCollectionContext","abstract":"\u003cp\u003eThe collection context provides limited access to the collection-related information that"},"Protocols/IGListCollectionViewDelegateLayout.html":{"name":"IGListCollectionViewDelegateLayout","abstract":"\u003cp\u003eConform to \u003ccode\u003eIGListCollectionViewDelegateLayout\u003c/code\u003e to provide customized layout information for a collection view.\u003c/p\u003e"},"Protocols/IGListCollectionViewLayoutCompatible.html":{"name":"IGListCollectionViewLayoutCompatible","abstract":"\u003cp\u003eA protocol for layouts that defines interaction with an IGListCollectionView, for recieving updated section indexes.\u003c/p\u003e"},"Protocols/IGListDisplayDelegate.html":{"name":"IGListDisplayDelegate","abstract":"\u003cp\u003eImplement this protocol to receive display events for a section controller when it is on screen.\u003c/p\u003e"},"Protocols/IGListScrollDelegate.html":{"name":"IGListScrollDelegate","abstract":"\u003cp\u003eImplement this protocol to receive display events for a section controller when it is on screen.\u003c/p\u003e"},"Protocols/IGListSingleSectionControllerDelegate.html":{"name":"IGListSingleSectionControllerDelegate","abstract":"\u003cp\u003eA delegate that can receive selection events on an \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListSingleSectionController.html\"\u003eIGListSingleSectionController\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e"},"Protocols/IGListSupplementaryViewSource.html":{"name":"IGListSupplementaryViewSource","abstract":"\u003cp\u003eConform to this protocol to provide information about a list\u0026rsquo;s supplementary views. This data is used in"},"Protocols/IGListTransitionDelegate.html":{"name":"IGListTransitionDelegate","abstract":"\u003cp\u003eConform to \u003ccode\u003eIGListTransitionDelegate\u003c/code\u003e to provide customized layout information for a collection view.\u003c/p\u003e"},"Protocols/IGListUpdatingDelegate.html":{"name":"IGListUpdatingDelegate","abstract":"\u003cp\u003eImplement this protocol in order to handle both section and row based update events. Implementation should forward or"},"Protocols/IGListWorkingRangeDelegate.html":{"name":"IGListWorkingRangeDelegate","abstract":"\u003cp\u003eImplement this protocol to receive working range events for a list.\u003c/p\u003e"},"Enums/IGListAdapterUpdateType.html#/c:@E@IGListAdapterUpdateType@IGListAdapterUpdateTypePerformUpdates":{"name":"IGListAdapterUpdateTypePerformUpdates","abstract":"\u003cp\u003e\u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)performUpdatesAnimated:completion:\"\u003e-[IGListAdapter performUpdatesAnimated:completion:]\u003c/a\u003e\u003c/code\u003e was executed.\u003c/p\u003e","parent_name":"IGListAdapterUpdateType"},"Enums/IGListAdapterUpdateType.html#/c:@E@IGListAdapterUpdateType@IGListAdapterUpdateTypeReloadData":{"name":"IGListAdapterUpdateTypeReloadData","abstract":"\u003cp\u003e\u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadDataWithCompletion:\"\u003e-[IGListAdapter reloadDataWithCompletion:]\u003c/a\u003e\u003c/code\u003e was executed.\u003c/p\u003e","parent_name":"IGListAdapterUpdateType"},"Enums/IGListAdapterUpdateType.html#/c:@E@IGListAdapterUpdateType@IGListAdapterUpdateTypeItemUpdates":{"name":"IGListAdapterUpdateTypeItemUpdates","abstract":"\u003cp\u003e\u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListCollectionContext.html#/c:objc(pl)IGListCollectionContext(im)performBatchAnimated:updates:completion:\"\u003e-[IGListCollectionContext performBatchAnimated:updates:completion:]\u003c/a\u003e\u003c/code\u003e was executed by an \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListSectionController.html\"\u003eIGListSectionController\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapterUpdateType"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentNone":{"name":"IGListExperimentNone","abstract":"\u003cp\u003eSpecifies no experiments.\u003c/p\u003e","parent_name":"IGListExperiment"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentInvalidateLayoutForUpdates":{"name":"IGListExperimentInvalidateLayoutForUpdates","abstract":"\u003cp\u003eTest invalidating layout when cell reloads/updates in IGListBindingSectionController.\u003c/p\u003e","parent_name":"IGListExperiment"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentThrowOnInconsistencyException":{"name":"IGListExperimentThrowOnInconsistencyException","abstract":"\u003cp\u003eThrow NSInternalInconsistencyException during an update\u003c/p\u003e","parent_name":"IGListExperiment"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentRemoveDataSourceChangeEarlyExit":{"name":"IGListExperimentRemoveDataSourceChangeEarlyExit","abstract":"\u003cp\u003eRemove the early exit so multiple updates can\u0026rsquo;t happen at once\u003c/p\u003e","parent_name":"IGListExperiment"},"Enums/IGListExperiment.html#/c:@E@IGListExperiment@IGListExperimentFixPreferredFocusedView":{"name":"IGListExperimentFixPreferredFocusedView","abstract":"\u003cp\u003eAvoids creating off-screen cells\u003c/p\u003e","parent_name":"IGListExperiment"},"Enums/IGListDiffOption.html#/c:@E@IGListDiffOption@IGListDiffPointerPersonality":{"name":"IGListDiffPointerPersonality","abstract":"\u003cp\u003eCompare objects using pointer personality.\u003c/p\u003e","parent_name":"IGListDiffOption"},"Enums/IGListDiffOption.html#/c:@E@IGListDiffOption@IGListDiffEquality":{"name":"IGListDiffEquality","abstract":"\u003cp\u003eCompare objects using \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListDiffable.html#/c:objc(pl)IGListDiffable(im)isEqualToDiffableObject:\"\u003e-[IGListDiffable isEqualToDiffableObject:]\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListDiffOption"},"Enums/IGListDiffOption.html":{"name":"IGListDiffOption","abstract":"\u003cp\u003eAn option for how to do comparisons between similar objects.\u003c/p\u003e"},"Enums/IGListExperiment.html":{"name":"IGListExperiment","abstract":"\u003cp\u003eBitmask-able options used for pre-release feature testing.\u003c/p\u003e"},"Enums/IGListAdapterUpdateType.html":{"name":"IGListAdapterUpdateType","abstract":"\u003cp\u003eThe type of update that was performed by an \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html\"\u003eIGListAdapter\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e"},"Constants.html#/c:@IGListKitVersionNumber":{"name":"IGListKitVersionNumber","abstract":"\u003cp\u003eProject version number for IGListKit.\u003c/p\u003e"},"Constants.html#/c:@IGListKitVersionString":{"name":"IGListKitVersionString","abstract":"\u003cp\u003eProject version string for IGListKit.\u003c/p\u003e"},"Classes/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(im)initFromObjects:toObjects:toSectionControllers:":{"name":"-initFromObjects:toObjects:toSectionControllers:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListTransitionData"},"Classes/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(im)init":{"name":"-init","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListTransitionData"},"Classes/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(cm)new":{"name":"+new","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListTransitionData"},"Classes/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(py)fromObjects":{"name":"fromObjects","abstract":"\u003cp\u003eThe previous objects in the collection view. Objects must conform to \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListDiffable.html\"\u003eIGListDiffable\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListTransitionData"},"Classes/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(py)toObjects":{"name":"toObjects","abstract":"\u003cp\u003eThe new objects in the collection view. Objects must conform to \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListDiffable.html\"\u003eIGListDiffable\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListTransitionData"},"Classes/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(py)toSectionControllers":{"name":"toSectionControllers","abstract":"\u003cp\u003eThe section controllers corresponding to the \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListTransitionData.html#/c:objc(cs)IGListTransitionData(py)toObjects\"\u003etoObjects\u003c/a\u003e\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListTransitionData"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithCellClass:configureBlock:sizeBlock:":{"name":"-initWithCellClass:configureBlock:sizeBlock:","abstract":"\u003cp\u003eCreates a new section controller for a given cell type that will always have only one cell when present in a list.\u003c/p\u003e","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithNibName:bundle:configureBlock:sizeBlock:":{"name":"-initWithNibName:bundle:configureBlock:sizeBlock:","abstract":"\u003cp\u003eCreates a new section controller for a given nib name and bundle that will always have only one cell when present in a list.\u003c/p\u003e","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(im)initWithStoryboardCellIdentifier:configureBlock:sizeBlock:":{"name":"-initWithStoryboardCellIdentifier:configureBlock:sizeBlock:","abstract":"\u003cp\u003eCreates a new section controller for a given storyboard cell identifier that will always have only one cell when present in a list.\u003c/p\u003e","parent_name":"IGListSingleSectionController"},"Classes/IGListSingleSectionController.html#/c:objc(cs)IGListSingleSectionController(py)selectionDelegate":{"name":"selectionDelegate","abstract":"\u003cp\u003eAn optional delegate that handles selection and deselection.\u003c/p\u003e","parent_name":"IGListSingleSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)numberOfItems":{"name":"-numberOfItems","abstract":"\u003cp\u003eReturns the number of items in the section.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)sizeForItemAtIndex:":{"name":"-sizeForItemAtIndex:","abstract":"\u003cp\u003eThe specific size for the item at the specified index.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)cellForItemAtIndex:":{"name":"-cellForItemAtIndex:","abstract":"\u003cp\u003eReturn a dequeued cell for a given index.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didUpdateToObject:":{"name":"-didUpdateToObject:","abstract":"\u003cp\u003eUpdates the section controller to a new object.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)shouldSelectItemAtIndex:":{"name":"-shouldSelectItemAtIndex:","abstract":"\u003cp\u003eAsks the section controller if the cell at the specified index path should be selected\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)shouldDeselectItemAtIndex:":{"name":"-shouldDeselectItemAtIndex:","abstract":"\u003cp\u003eAsks the section controller if the cell at the specified index path should be deselected\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didSelectItemAtIndex:":{"name":"-didSelectItemAtIndex:","abstract":"\u003cp\u003eTells the section controller that the cell at the specified index path was selected.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didDeselectItemAtIndex:":{"name":"-didDeselectItemAtIndex:","abstract":"\u003cp\u003eTells the section controller that the cell at the specified index path was deselected.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didHighlightItemAtIndex:":{"name":"-didHighlightItemAtIndex:","abstract":"\u003cp\u003eTells the section controller that the cell at the specified index path was highlighted.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)didUnhighlightItemAtIndex:":{"name":"-didUnhighlightItemAtIndex:","abstract":"\u003cp\u003eTells the section controller that the cell at the specified index path was unhighlighted.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)contextMenuConfigurationForItemAtIndex:point:":{"name":"-contextMenuConfigurationForItemAtIndex:point:","abstract":"\u003cp\u003eTells the section controller that the cell has requested a menu configuration.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)canMoveItemAtIndex:":{"name":"-canMoveItemAtIndex:","abstract":"\u003cp\u003eIdentifies whether an object can be moved through interactive reordering.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(im)moveObjectFromIndex:toIndex:":{"name":"-moveObjectFromIndex:toIndex:","abstract":"\u003cp\u003eNotifies the section that a list object should move within a section as the result of interactive reordering.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)viewController":{"name":"viewController","abstract":"\u003cp\u003eThe view controller housing the adapter that created this section controller.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)collectionContext":{"name":"collectionContext","abstract":"\u003cp\u003eA context object for interacting with the collection.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)section":{"name":"section","abstract":"\u003cp\u003eReturns the section within the list for this section controller.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)isFirstSection":{"name":"isFirstSection","abstract":"\u003cp\u003eReturns \u003ccode\u003eYES\u003c/code\u003e if the section controller is the first section in the list, \u003ccode\u003eNO\u003c/code\u003e otherwise.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)isLastSection":{"name":"isLastSection","abstract":"\u003cp\u003eReturns \u003ccode\u003eYES\u003c/code\u003e if the section controller is the last section in the list, \u003ccode\u003eNO\u003c/code\u003e otherwise.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)inset":{"name":"inset","abstract":"\u003cp\u003eThe margins used to lay out content in the section controller.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)minimumLineSpacing":{"name":"minimumLineSpacing","abstract":"\u003cp\u003eThe minimum spacing to use between rows of items.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)minimumInteritemSpacing":{"name":"minimumInteritemSpacing","abstract":"\u003cp\u003eThe minimum spacing to use between items in the same row.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)supplementaryViewSource":{"name":"supplementaryViewSource","abstract":"\u003cp\u003eThe supplementary view source for the section controller. Can be \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)displayDelegate":{"name":"displayDelegate","abstract":"\u003cp\u003eAn object that handles display events for the section controller. Can be \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)workingRangeDelegate":{"name":"workingRangeDelegate","abstract":"\u003cp\u003eAn object that handles working range events for the section controller. Can be \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)scrollDelegate":{"name":"scrollDelegate","abstract":"\u003cp\u003eAn object that handles scroll events for the section controller. Can be \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListSectionController.html#/c:objc(cs)IGListSectionController(py)transitionDelegate":{"name":"transitionDelegate","abstract":"\u003cp\u003eAn object that handles transition events for the section controller. Can be \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListSectionController"},"Classes/IGListGenericSectionController.html#/c:objc(cs)IGListGenericSectionController(py)object":{"name":"object","abstract":"\u003cp\u003eThe 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":"\u003cp\u003eUpdates the section controller to a new object.\u003c/p\u003e","parent_name":"IGListGenericSectionController"},"Classes/IGListCollectionViewLayoutInvalidationContext.html#/c:objc(cs)IGListCollectionViewLayoutInvalidationContext(py)invalidateSupplementaryListAttributes":{"name":"invalidateSupplementaryListAttributes","abstract":"\u003cp\u003eFalse by default. If true, supplementary list item attributes (headers and footers) will be invalidated.\u003c/p\u003e","parent_name":"IGListCollectionViewLayoutInvalidationContext"},"Classes/IGListCollectionViewLayoutInvalidationContext.html#/c:objc(cs)IGListCollectionViewLayoutInvalidationContext(py)invalidateAllListAttributes":{"name":"invalidateAllListAttributes","abstract":"\u003cp\u003eFalse by default. If true, all list item attributes will be invalidated.\u003c/p\u003e","parent_name":"IGListCollectionViewLayoutInvalidationContext"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(py)scrollDirection":{"name":"scrollDirection","abstract":"\u003cp\u003eDirection in which layout will be scrollable; items will be flowed in the perpendicular direction, \u0026ldquo;newlining\u0026rdquo; when they","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(py)stickyHeaderYOffset":{"name":"stickyHeaderYOffset","abstract":"\u003cp\u003eSet this to adjust the offset of the sticky headers in the scrolling direction. Can be used to change the sticky","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(py)showHeaderWhenEmpty":{"name":"showHeaderWhenEmpty","abstract":"\u003cp\u003eSet this to \u003ccode\u003eYES\u003c/code\u003e to show sticky header when a section had no item. Default is \u003ccode\u003eNO\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(py)preserveLayoutCacheOnInvalidateLayout":{"name":"preserveLayoutCacheOnInvalidateLayout","abstract":"\u003cp\u003eSet this to \u003ccode\u003eYES\u003c/code\u003e to keep layout cache when invalidateLayout is called. Default is \u003ccode\u003eNO\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(im)initWithStickyHeaders:scrollDirection:topContentInset:stretchToEdge:":{"name":"-initWithStickyHeaders:scrollDirection:topContentInset:stretchToEdge:","abstract":"\u003cp\u003eCreate and return a new collection view layout.\u003c/p\u003e","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionViewLayout.html#/c:objc(cs)IGListCollectionViewLayout(im)initWithStickyHeaders:topContentInset:stretchToEdge:":{"name":"-initWithStickyHeaders:topContentInset:stretchToEdge:","abstract":"\u003cp\u003eCreate and return a new vertically scrolling collection view layout.\u003c/p\u003e","parent_name":"IGListCollectionViewLayout"},"Classes/IGListCollectionView.html#/c:objc(cs)IGListCollectionView(im)initWithFrame:listCollectionViewLayout:":{"name":"-initWithFrame:listCollectionViewLayout:","abstract":"\u003cp\u003eCreate a new view with an \u003ccode\u003eIGListcollectionViewLayout\u003c/code\u003e class or subclass.\u003c/p\u003e","parent_name":"IGListCollectionView"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)cellClass":{"name":"-cellClass","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)configureCell:withViewModel:":{"name":"-configureCell:withViewModel:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)sizeForViewModel:":{"name":"-sizeForViewModel:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)didSelectItemWithCell:":{"name":"-didSelectItemWithCell:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)didDeselectItemWithCell:":{"name":"-didDeselectItemWithCell:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)didHighlightItemWithCell:":{"name":"-didHighlightItemWithCell:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)didUnhighlightItemWithCell:":{"name":"-didUnhighlightItemWithCell:","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSingleSectionController.html#/c:objc(cs)IGListBindingSingleSectionController(im)isDisplayingCell":{"name":"-isDisplayingCell","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"IGListBindingSingleSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)dataSource":{"name":"dataSource","abstract":"\u003cp\u003eA data source that transforms a top-level object into view models, and returns cells and sizes for given view models.\u003c/p\u003e","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)selectionDelegate":{"name":"selectionDelegate","abstract":"\u003cp\u003eA delegate that receives selection events from cells in an \u003ccode\u003eIGListBindingSectionController\u003c/code\u003e instance.\u003c/p\u003e","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)object":{"name":"object","abstract":"\u003cp\u003eThe object currently assigned to the section controller, if any.\u003c/p\u003e","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(py)viewModels":{"name":"viewModels","abstract":"\u003cp\u003eThe 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":"\u003cp\u003eTells the section controller to query for new view models, diff the changes, and update its cells.\u003c/p\u003e","parent_name":"IGListBindingSectionController"},"Classes/IGListBindingSectionController.html#/c:objc(cs)IGListBindingSectionController(im)moveObjectFromIndex:toIndex:":{"name":"-moveObjectFromIndex:toIndex:","abstract":"\u003cp\u003eNotifies the section that a list object should move within a section as the result of interactive reordering.\u003c/p\u003e","parent_name":"IGListBindingSectionController"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)delegate":{"name":"delegate","abstract":"\u003cp\u003eThe delegate that receives events with data on the performance of a transition.\u003c/p\u003e","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)sectionMovesAsDeletesInserts":{"name":"sectionMovesAsDeletesInserts","abstract":"\u003cp\u003eA flag indicating if a section move should be treated as a section \u0026ldquo;delete, then insert\u0026rdquo; operation. This can be useful if you\u0026rsquo;re","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)singleItemSectionUpdates":{"name":"singleItemSectionUpdates","abstract":"\u003cp\u003eONLY used when there is N section, but each section only contains 1 item.","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)preferItemReloadsForSectionReloads":{"name":"preferItemReloadsForSectionReloads","abstract":"\u003cp\u003eA flag indicating that section reloads should be treated as item reloads, instead of converting them to \u0026ldquo;delete, then insert\u0026rdquo; operations.","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)allowsReloadingOnTooManyUpdates":{"name":"allowsReloadingOnTooManyUpdates","abstract":"\u003cp\u003eIf there\u0026rsquo;s more than 100 diff updates, fallback to using \u003ccode\u003ereloadData\u003c/code\u003e to avoid stalling the main thread.\u003c/p\u003e","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)allowsBackgroundDiffing":{"name":"allowsBackgroundDiffing","abstract":"\u003cp\u003eAllow the diffing to be performed on a background thread.\u003c/p\u003e","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)experiments":{"name":"experiments","abstract":"\u003cp\u003eA bitmask of experiments to conduct on the updater.\u003c/p\u003e","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)adaptiveDiffingExperimentConfig":{"name":"adaptiveDiffingExperimentConfig","abstract":"\u003cp\u003eThis is an experimental feature to customize how diffing is performed. If theres clear value, well make this a real API and make","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterUpdater.html#/c:objc(cs)IGListAdapterUpdater(py)adaptiveCoalescingExperimentConfig":{"name":"adaptiveCoalescingExperimentConfig","abstract":"\u003cp\u003eCustomize how coalescing works to speed up some updates\u003c/p\u003e","parent_name":"IGListAdapterUpdater"},"Classes/IGListAdapterDelegateAnnouncer.html#/c:objc(cs)IGListAdapterDelegateAnnouncer(cm)sharedInstance":{"name":"+sharedInstance","abstract":"\u003cp\u003eDefault announcer for all \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html\"\u003eIGListAdapter\u003c/a\u003e\u003c/code\u003e\u003c/p\u003e","parent_name":"IGListAdapterDelegateAnnouncer"},"Classes/IGListAdapterDelegateAnnouncer.html#/c:objc(cs)IGListAdapterDelegateAnnouncer(im)addListener:":{"name":"-addListener:","abstract":"\u003cp\u003eAdd a delegate that will receive callbacks for all \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListAdapter.html\"\u003eIGListAdapter\u003c/a\u003e\u003c/code\u003e.","parent_name":"IGListAdapterDelegateAnnouncer"},"Classes/IGListAdapterDelegateAnnouncer.html#/c:objc(cs)IGListAdapterDelegateAnnouncer(im)removeListener:":{"name":"-removeListener:","abstract":"\u003cp\u003eRemove delegate\u003c/p\u003e","parent_name":"IGListAdapterDelegateAnnouncer"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)viewController":{"name":"viewController","abstract":"\u003cp\u003eThe view controller that houses the adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)collectionView":{"name":"collectionView","abstract":"\u003cp\u003eThe collection view used with the adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)dataSource":{"name":"dataSource","abstract":"\u003cp\u003eThe object that acts as the data source for the adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)delegate":{"name":"delegate","abstract":"\u003cp\u003eThe object that receives top-level events for section controllers.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)collectionViewDelegate":{"name":"collectionViewDelegate","abstract":"\u003cp\u003eThe object that receives \u003ccode\u003eUICollectionViewDelegate\u003c/code\u003e events.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)scrollViewDelegate":{"name":"scrollViewDelegate","abstract":"\u003cp\u003eThe object that receives \u003ccode\u003eUIScrollViewDelegate\u003c/code\u003e events.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)moveDelegate":{"name":"moveDelegate","abstract":"\u003cp\u003eThe object that receives \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListAdapterMoveDelegate.html\"\u003eIGListAdapterMoveDelegate\u003c/a\u003e\u003c/code\u003e events resulting from interactive reordering of sections.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)performanceDelegate":{"name":"performanceDelegate","abstract":"\u003cp\u003eThe object that receives \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListAdapterPerformanceDelegate.html\"\u003eIGListAdapterPerformanceDelegate\u003c/a\u003e\u003c/code\u003e events to measure performance.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)updater":{"name":"updater","abstract":"\u003cp\u003eThe updater for the adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)experiments":{"name":"experiments","abstract":"\u003cp\u003eA bitmask of experiments to conduct on the adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(py)autoDeselectEnabled":{"name":"autoDeselectEnabled","abstract":"\u003cp\u003eWhen true, we automatically deselect cells after they are selected (animated), so each section-controller doesn\u0026rsquo;t have to.","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)initWithUpdater:viewController:workingRangeSize:":{"name":"-initWithUpdater:viewController:workingRangeSize:","abstract":"\u003cp\u003eInitializes a new \u003ccode\u003eIGListAdapter\u003c/code\u003e object.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)initWithUpdater:viewController:":{"name":"-initWithUpdater:viewController:","abstract":"\u003cp\u003eInitializes a new \u003ccode\u003eIGListAdapter\u003c/code\u003e object with a working range of \u003ccode\u003e0\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)performUpdatesAnimated:completion:":{"name":"-performUpdatesAnimated:completion:","abstract":"\u003cp\u003ePerform 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":"\u003cp\u003ePerform an immediate reload of the data in the data source, discarding the old objects.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadObjects:":{"name":"-reloadObjects:","abstract":"\u003cp\u003eReload the list for only the specified objects.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionControllerForSection:":{"name":"-sectionControllerForSection:","abstract":"\u003cp\u003eQuery the section controller at a given section index. Constant time lookup.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionForSectionController:":{"name":"-sectionForSectionController:","abstract":"\u003cp\u003eQuery the section index of a list. Constant time lookup.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionControllerForObject:":{"name":"-sectionControllerForObject:","abstract":"\u003cp\u003eReturns the section controller for the specified object. Constant time lookup.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objectForSectionController:":{"name":"-objectForSectionController:","abstract":"\u003cp\u003eReturns the object corresponding to the specified section controller in the list. Constant time lookup.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objectAtSection:":{"name":"-objectAtSection:","abstract":"\u003cp\u003eReturns the object corresponding to a section in the list. Constant time lookup.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sectionForObject:":{"name":"-sectionForObject:","abstract":"\u003cp\u003eReturns the section corresponding to the specified object in the list. Constant time lookup.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)objects":{"name":"-objects","abstract":"\u003cp\u003eReturns a copy of all the objects currently driving the adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleSectionControllers":{"name":"-visibleSectionControllers","abstract":"\u003cp\u003eAn unordered array of the currently visible section controllers.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleObjects":{"name":"-visibleObjects","abstract":"\u003cp\u003eAn unordered array of the currently visible objects.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)indexesOfVisibleObjects":{"name":"-indexesOfVisibleObjects","abstract":"\u003cp\u003eLess performant that \u003ccode\u003evisibleObjects\u003c/code\u003e but gives you an ordering to the list of visible objects in \u003ccode\u003eself.objects\u003c/code\u003e.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)visibleCellsForObject:":{"name":"-visibleCellsForObject:","abstract":"\u003cp\u003eAn unordered array of the currently visible cells for a given object.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)scrollToObject:supplementaryKinds:scrollDirection:scrollPosition:additionalOffset:animated:":{"name":"-scrollToObject:supplementaryKinds:scrollDirection:scrollPosition:additionalOffset:animated:","abstract":"\u003cp\u003eScrolls to the specified object in the list adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)indexPathForFirstVisibleItem":{"name":"-indexPathForFirstVisibleItem","abstract":"\u003cp\u003eReturns the index path for the first visible cell that has been scrolled to.","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)offsetForFirstVisibleItemWithScrollDirection:":{"name":"-offsetForFirstVisibleItemWithScrollDirection:","abstract":"\u003cp\u003eGets the scroll offset of the first visible cell scrolled into in the collection view.","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sizeForItemAtIndexPath:":{"name":"-sizeForItemAtIndexPath:","abstract":"\u003cp\u003eReturns the size of a cell at the specified index path.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)sizeForSupplementaryViewOfKind:atIndexPath:":{"name":"-sizeForSupplementaryViewOfKind:atIndexPath:","abstract":"\u003cp\u003eReturns the size of a supplementary view in the list at the specified index path.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)addUpdateListener:":{"name":"-addUpdateListener:","abstract":"\u003cp\u003eAdds a listener to the list adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)removeUpdateListener:":{"name":"-removeUpdateListener:","abstract":"\u003cp\u003eRemoves a listener from the list adapter.\u003c/p\u003e","parent_name":"IGListAdapter"},"Classes/IGListMoveIndexPath.html#/c:objc(cs)IGListMoveIndexPath(py)from":{"name":"from","abstract":"\u003cp\u003eAn index path in the old collection.\u003c/p\u003e","parent_name":"IGListMoveIndexPath"},"Classes/IGListMoveIndexPath.html#/c:objc(cs)IGListMoveIndexPath(py)to":{"name":"to","abstract":"\u003cp\u003eAn index path in the new collection.\u003c/p\u003e","parent_name":"IGListMoveIndexPath"},"Classes/IGListMoveIndex.html#/c:objc(cs)IGListMoveIndex(py)from":{"name":"from","abstract":"\u003cp\u003eAn index in the old collection.\u003c/p\u003e","parent_name":"IGListMoveIndex"},"Classes/IGListMoveIndex.html#/c:objc(cs)IGListMoveIndex(py)to":{"name":"to","abstract":"\u003cp\u003eAn index in the new collection.\u003c/p\u003e","parent_name":"IGListMoveIndex"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)inserts":{"name":"inserts","abstract":"\u003cp\u003eThe indexes inserted into the new collection.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)deletes":{"name":"deletes","abstract":"\u003cp\u003eThe indexes deleted from the old collection.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)updates":{"name":"updates","abstract":"\u003cp\u003eThe indexes in the old collection that need updated.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)moves":{"name":"moves","abstract":"\u003cp\u003eThe moves from an index in the old collection to an index in the new collection.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(py)hasChanges":{"name":"hasChanges","abstract":"\u003cp\u003eA 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":"\u003cp\u003eReturns the index of the object with the specified identifier \u003cem\u003ebefore\u003c/em\u003e the diff.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)newIndexForIdentifier:":{"name":"-newIndexForIdentifier:","abstract":"\u003cp\u003eReturns the index of the object with the specified identifier \u003cem\u003eafter\u003c/em\u003e the diff.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexSetResult.html#/c:objc(cs)IGListIndexSetResult(im)resultForBatchUpdates":{"name":"-resultForBatchUpdates","abstract":"\u003cp\u003eCreates a new result object with operations safe for use in \u003ccode\u003eUITableView\u003c/code\u003e and \u003ccode\u003eUICollectionView\u003c/code\u003e batch updates.\u003c/p\u003e","parent_name":"IGListIndexSetResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)inserts":{"name":"inserts","abstract":"\u003cp\u003eThe index paths inserted into the new collection.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)deletes":{"name":"deletes","abstract":"\u003cp\u003eThe index paths deleted from the old collection.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)updates":{"name":"updates","abstract":"\u003cp\u003eThe index paths in the old collection that need updated.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)moves":{"name":"moves","abstract":"\u003cp\u003eThe moves from an index path in the old collection to an index path in the new collection.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(py)hasChanges":{"name":"hasChanges","abstract":"\u003cp\u003eA 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":"\u003cp\u003eReturns the index path of the object with the specified identifier \u003cem\u003ebefore\u003c/em\u003e the diff.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)newIndexPathForIdentifier:":{"name":"-newIndexPathForIdentifier:","abstract":"\u003cp\u003eReturns the index path of the object with the specified identifier \u003cem\u003eafter\u003c/em\u003e the diff.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListIndexPathResult.html#/c:objc(cs)IGListIndexPathResult(im)resultForBatchUpdates":{"name":"-resultForBatchUpdates","abstract":"\u003cp\u003eCreates a new result object with operations safe for use in \u003ccode\u003eUITableView\u003c/code\u003e and \u003ccode\u003eUICollectionView\u003c/code\u003e batch updates.\u003c/p\u003e","parent_name":"IGListIndexPathResult"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)insertSections":{"name":"insertSections","abstract":"\u003cp\u003eSection insert indexes.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)deleteSections":{"name":"deleteSections","abstract":"\u003cp\u003eSection delete indexes.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)moveSections":{"name":"moveSections","abstract":"\u003cp\u003eSection moves.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)insertIndexPaths":{"name":"insertIndexPaths","abstract":"\u003cp\u003eItem insert index paths.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)deleteIndexPaths":{"name":"deleteIndexPaths","abstract":"\u003cp\u003eItem delete index paths.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)updateIndexPaths":{"name":"updateIndexPaths","abstract":"\u003cp\u003eItem update index paths.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(py)moveIndexPaths":{"name":"moveIndexPaths","abstract":"\u003cp\u003eItem moves.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html#/c:objc(cs)IGListBatchUpdateData(im)initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:updateIndexPaths:moveIndexPaths:":{"name":"-initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:updateIndexPaths:moveIndexPaths:","abstract":"\u003cp\u003eCreates a new batch update object with section and item operations.\u003c/p\u003e","parent_name":"IGListBatchUpdateData"},"Classes/IGListBatchUpdateData.html":{"name":"IGListBatchUpdateData","abstract":"\u003cp\u003eAn instance of \u003ccode\u003eIGListBatchUpdateData\u003c/code\u003e takes section indexes and item index paths"},"Classes/IGListIndexPathResult.html":{"name":"IGListIndexPathResult","abstract":"\u003cp\u003eA result object returned when diffing with sections.\u003c/p\u003e"},"Classes/IGListIndexSetResult.html":{"name":"IGListIndexSetResult","abstract":"\u003cp\u003eA result object returned when diffing with indexes.\u003c/p\u003e"},"Classes/IGListMoveIndex.html":{"name":"IGListMoveIndex","abstract":"\u003cp\u003eAn object representing a move between indexes.\u003c/p\u003e"},"Classes/IGListMoveIndexPath.html":{"name":"IGListMoveIndexPath","abstract":"\u003cp\u003eAn object representing a move between indexes.\u003c/p\u003e"},"Classes/IGListAdapter.html":{"name":"IGListAdapter","abstract":"\u003cp\u003e\u003ccode\u003eIGListAdapter\u003c/code\u003e objects provide an abstraction for feeds of objects in a \u003ccode\u003eUICollectionView\u003c/code\u003e by breaking each object"},"Classes/IGListAdapterDelegateAnnouncer.html":{"name":"IGListAdapterDelegateAnnouncer","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/IGListAdapterUpdater.html":{"name":"IGListAdapterUpdater","abstract":"\u003cp\u003eAn \u003ccode\u003eIGListAdapterUpdater\u003c/code\u003e is a concrete type that conforms to \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListUpdatingDelegate.html\"\u003eIGListUpdatingDelegate\u003c/a\u003e\u003c/code\u003e."},"Classes/IGListBindingSectionController.html":{"name":"IGListBindingSectionController","abstract":"\u003cp\u003eThis section controller uses a data source to transform its \u0026ldquo;top level\u0026rdquo; object into an array of diffable view models."},"Classes/IGListBindingSingleSectionController.html":{"name":"IGListBindingSingleSectionController","abstract":"\u003cp\u003eSpecial section controller that only contains a single item, and it will apply the view model update during -didUpdateObject: call, usually happened inside -[UICollectionView performBatchUpdates:completion:].\u003c/p\u003e"},"Classes/IGListCollectionView.html":{"name":"IGListCollectionView","abstract":"\u003cp\u003eThis \u003ccode\u003eUICollectionView\u003c/code\u003e subclass allows for partial layout invalidation using \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbClasses/IGListCollectionViewLayout.html\"\u003eIGListCollectionViewLayout\u003c/a\u003e\u003c/code\u003e,"},"Classes/IGListCollectionViewLayout.html":{"name":"IGListCollectionViewLayout","abstract":"\u003cp\u003eThis UICollectionViewLayout subclass is for vertically or horizontally scrolling lists of data with variable widths and"},"Classes/IGListCollectionViewLayoutInvalidationContext.html":{"name":"IGListCollectionViewLayoutInvalidationContext","abstract":"\u003cp\u003eThe default invalidation context class used by IGListCollectionViewLayout.\u003c/p\u003e"},"Classes/IGListGenericSectionController.html":{"name":"IGListGenericSectionController","abstract":"\u003cp\u003eThis class adds a helper layer to \u003ccode\u003eIGListSectionController\u0010\u003c/code\u003e to automatically store a generic object in"},"Classes.html#/c:objc(cs)IGListReloadDataUpdater":{"name":"IGListReloadDataUpdater","abstract":"\u003cp\u003eAn \u003ccode\u003eIGListReloadDataUpdater\u003c/code\u003e is a concrete type that conforms to \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbProtocols/IGListUpdatingDelegate.html\"\u003eIGListUpdatingDelegate\u003c/a\u003e\u003c/code\u003e."},"Classes/IGListSectionController.html":{"name":"IGListSectionController","abstract":"\u003cp\u003eThe base class for section controllers used in a list. This class is intended to be subclassed.\u003c/p\u003e"},"Classes/IGListSingleSectionController.html":{"name":"IGListSingleSectionController","abstract":"\u003cp\u003eThis section controller is meant to make building simple, single-cell lists easier. By providing the type of cell, a block"},"Classes/IGListTransitionData.html":{"name":"IGListTransitionData","abstract":"\u003cp\u003eContainer object that holds the data needed for an update.\u003c/p\u003e"},"Categories/UIViewController%28IGListAdapter%29.html#/c:objc(cs)UIViewController(im)associatedListAdapters":{"name":"-associatedListAdapters","abstract":"\u003cp\u003eAdapters that have this VC as their \u003ccode\u003eviewController\u003c/code\u003e\u003c/p\u003e","parent_name":"UIViewController(IGListAdapter)"},"Categories/UIViewController%28IGListAdapter%29.html":{"name":"UIViewController(IGListAdapter)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"best-practices-and-faq.html":{"name":"Best Practices and FAQ"},"generating-your-models-using-remodel.html":{"name":"Generating your models using remodel"},"getting-started.html":{"name":"Getting Started"},"iglistdiffable-and-equality.html":{"name":"IGListDiffable and Equality"},"installation.html":{"name":"Installation"},"migration.html":{"name":"Migration"},"modeling-and-binding.html":{"name":"Modeling and Binding"},"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":"\u003cp\u003eThe following guides are available globally.\u003c/p\u003e"},"Categories.html":{"name":"Categories","abstract":"\u003cp\u003eThe following categories are available globally.\u003c/p\u003e"},"Classes.html":{"name":"Classes","abstract":"\u003cp\u003eThe following classes are available globally.\u003c/p\u003e"},"Constants.html":{"name":"Constants","abstract":"\u003cp\u003eThe following constants are available globally.\u003c/p\u003e"},"Enums.html":{"name":"Enumerations","abstract":"\u003cp\u003eThe following enumerations are available globally.\u003c/p\u003e"},"Protocols.html":{"name":"Protocols","abstract":"\u003cp\u003eThe following protocols are available globally.\u003c/p\u003e"},"Type%20Definitions.html":{"name":"Type Definitions","abstract":"\u003cp\u003eThe following type definitions are available globally.\u003c/p\u003e"},"Functions.html":{"name":"Functions","abstract":"\u003cp\u003eThe following functions are available globally.\u003c/p\u003e"},"Structs.html":{"name":"Structures","abstract":"\u003cp\u003eThe following structures are available globally.\u003c/p\u003e"}}