Classes

The following classes are available globally.

  • IGListAdapter objects provide an abstraction for feeds of objects in a UICollectionView by breaking each object into individual sections, called section controllers. These controllers (objects conforming to IGListSectionType) act as a data source and delegate for each section.

    Feed implementations must act as the data source for an IGListAdapter in order to drive the objects and section controllers in a collection view.

    See more

    Declaration

    Objective-C

    @interface IGListAdapter : NSObject

    Swift

    class IGListAdapter
  • This is an out-of-box upater for IGListAdapters. It conforms to IGListUpdatingDelegate and does re-entrant, coalesced updating on a UICollectionView.

    It also uses IGDiffKit (a least-minimal diff) for calculating UI updates when IGListAdapter calls -performUpdateWithCollectionView:fromObjects:toObjects:completion:.

    See more

    Declaration

    Objective-C

    @interface IGListAdapterUpdater : NSObject <IGListUpdatingDelegate>
  • This object takes section indexes and item index paths and performs cleanup on init in order to perform a crash-free update via -[UICollectionView performBatchUpdates:completion:].

    See more

    Declaration

    Objective-C

    @interface 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].

    See more

    Declaration

    Objective-C

    @interface IGListCollectionView : UICollectionView

    Swift

    class IGListCollectionView
  • Result object returned when diffing with sections.

    See more

    Declaration

    Objective-C

    @interface IGListIndexPathResult : NSObject

    Swift

    class IGListIndexPathResult : NSObject
  • Result object returned when diffing with indexes.

    See more

    Declaration

    Objective-C

    @interface IGListIndexSetResult : NSObject

    Swift

    class IGListIndexSetResult : NSObject
  • An object representing a move between indexes.

    See more

    Declaration

    Objective-C

    @interface IGListMoveIndex : NSObject

    Swift

    class IGListMoveIndex : NSObject
  • An object representing a move between indexes.

    See more

    Declaration

    Objective-C

    @interface IGListMoveIndexPath : NSObject

    Swift

    class IGListMoveIndexPath : NSObject
  • The base class for section controllers used in the list infra. This class is meant to be subclassed.

    See more

    Declaration

    Objective-C

    @interface IGListSectionController : NSObject

    Swift

    class IGListSectionController
  • This section controller is meant to make building simple, single-cell feeds 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 feed without overcomplicating your architecture.

    See more

    Declaration

    Objective-C

    @interface IGListSingleSectionController
        : IGListSectionController <IGListSectionType>

    Swift

    class IGListSingleSectionController
  • This 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 Comments 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.

    See more

    Declaration

    Objective-C

    @interface IGListStackedSectionController
        : IGListSectionController <IGListSectionType>

    Swift

    class IGListStackedSectionController