Classes
The following classes are available globally.
-
IGListAdapter
objects provide an abstraction for feeds of objects in aUICollectionView
by breaking each object into individual sections, calledsection controllers
. These controllers (objects conforming toIGListSectionType
) act as a data source and delegate for each section.Feed implementations must act as the data source for an
See moreIGListAdapter
in order to drive the objects and section controllers in a collection view.Declaration
Objective-C
@interface IGListAdapter : NSObject
Swift
class IGListAdapter
-
An
IGListAdapterUpdater
is a concrete type that conforms toIGListUpdatingDelegate
. It is an out-of-box upater forIGListAdapter
objects to use.Note
This updater performs re-entrant, coalesced updating for a list. It also uses a least-minimal diff for calculating UI updates whenIGListAdapter
calls-performUpdateWithCollectionView:fromObjects:toObjects:completion:
.Declaration
Objective-C
@interface IGListAdapterUpdater : NSObject <IGListUpdatingDelegate>
-
An instance of
See moreIGListBatchUpdateData
takes section indexes and item index paths and performs cleanup on init in order to perform a crash-free update via-[UICollectionView performBatchUpdates:completion:]
.Declaration
Objective-C
@interface IGListBatchUpdateData : NSObject
Swift
class IGListBatchUpdateData : NSObject
-
This class is never actually used by the
IGListKit
infrastructure. It exists only to give compiler errors when editing methods are called on the collection view returned by-[IGListAdapter collectionView]
.Declaration
Objective-C
@interface IGListCollectionView : UICollectionView
Swift
class IGListCollectionView
-
See moreIGListGridCollectionViewLayout
provides a vertically-scrolling, section-based grid layout forUICollectionView
. Items in the layout are displayed consecutively in a grid with exactly 1 item per section. If items are square, the appearance would be similar to the iOS Photos app. However, the size of the items for each section can vary.Declaration
Objective-C
@interface IGListGridCollectionViewLayout : UICollectionViewLayout
-
A result object returned when diffing with sections.
See moreDeclaration
Objective-C
@interface IGListIndexPathResult : NSObject
Swift
class IGListIndexPathResult : NSObject
-
A result object returned when diffing with indexes.
See moreDeclaration
Objective-C
@interface IGListIndexSetResult : NSObject
Swift
class IGListIndexSetResult : NSObject
-
An object representing a move between indexes.
See moreDeclaration
Objective-C
@interface IGListMoveIndex : NSObject
Swift
class IGListMoveIndex : NSObject
-
An object representing a move between indexes.
See moreDeclaration
Objective-C
@interface IGListMoveIndexPath : NSObject
Swift
class IGListMoveIndexPath : NSObject
-
An
IGListReloadDataUpdater
is a concrete type that conforms toIGListUpdatingDelegate
. It is an out-of-box upater forIGListAdapter
objects to use.Note
This updater performs simple, synchronous updates using-[UICollectionView reloadData]
.Declaration
Objective-C
@interface IGListReloadDataUpdater : NSObject <IGListUpdatingDelegate>
Swift
class IGListReloadDataUpdater
-
The base class for section controllers used in a list. This class is intended to be subclassed.
See moreDeclaration
Objective-C
@interface IGListSectionController : NSObject
Swift
class IGListSectionController
-
This section controller is meant to make building simple, single-cell lists easier. By providing the type of cell, a block to configure the cell, and a block to return the size of a cell, you can use an IGListAdapter-powered list simpler architecture.
See moreDeclaration
Objective-C
@interface IGListSingleSectionController : IGListSectionController <IGListSectionType>
Swift
class IGListSingleSectionController
-
An instace of
IGListStackedSectionController
is a clustered section controller, composed of many child section controllers. It constructs and routes item-level indexes to the appropriate child section controller with a local index. This lets you build section controllers made up of individual units that can be shared and reused with other section controllers.For example, you can create a
See moreComments
section controller that displays lists of text that is used alongside photo, video, or slideshow section controllers. You then have four small and manageable section controllers instead of one huge class.Declaration
Objective-C
@interface IGListStackedSectionController : IGListSectionController <IGListSectionType>
Swift
class IGListStackedSectionController