IGListSingleSectionController
@interface IGListSingleSectionController
: IGListSectionController <IGListSectionType>
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.
-
Creates a new section controller for a given cell type that will always have only one cell when present in a list.
Warning
Be VERY CAREFUL not to create retain cycles by holding strong references to: the object that owns the adapter (usually
self
) or theIGListAdapter
. Pass in locally scoped objects or useweak
references!Declaration
Objective-C
- (nonnull instancetype) initWithCellClass:(nonnull Class)cellClass configureBlock:(nonnull IGListSingleSectionCellConfigureBlock)configureBlock sizeBlock:(nonnull IGListSingleSectionCellSizeBlock)sizeBlock;
Swift
init!(cellClass: AnyClass!, configureBlock: Any!, sizeBlock: Any!)
Parameters
cellClass
The
UICollectionViewCell
subclass for the single cell.configureBlock
A block that configures the cell with the item given to the section controller.
sizeBlock
A block that returns the size for the cell given the collection context.
Return Value
A new section controller.
-
Creates a new section controller for a given nib name and bundle that will always have only one cell when present in a list.
Warning
Be VERY CAREFUL not to create retain cycles by holding strong references to: the object that owns the adapter (usually
self
) or theIGListAdapter
. Pass in locally scoped objects or useweak
references!Declaration
Objective-C
- (nonnull instancetype) initWithNibName:(nonnull NSString *)nibName bundle:(nullable NSBundle *)bundle configureBlock:(nonnull IGListSingleSectionCellConfigureBlock)configureBlock sizeBlock:(nonnull IGListSingleSectionCellSizeBlock)sizeBlock;
Swift
init!(nibName: Any!, bundle: Any!, configureBlock: Any!, sizeBlock: Any!)
Parameters
nibName
The name of the nib file for the single cell.
bundle
The bundle in which to search for the nib file. If nil, this method looks for the file in the main bundle.
configureBlock
A block that configures the cell with the item given to the section controller.
sizeBlock
A block that returns the size for the cell given the collection context.
Return Value
A new section controller.
-
Creates a new section controller for a given storyboard cell identifier that will always have only one cell when present in a list.
Warning
Be VERY CAREFUL not to create retain cycles by holding strong references to: the object that owns the adapter (usually
self
) or theIGListAdapter
. Pass in locally scoped objects or useweak
references!Declaration
Objective-C
- (nonnull instancetype) initWithStoryboardCellIdentifier:(nonnull NSString *)identifier configureBlock:(nonnull IGListSingleSectionCellConfigureBlock) configureBlock sizeBlock: (nonnull IGListSingleSectionCellSizeBlock)sizeBlock;
Swift
init!(storyboardCellIdentifier identifier: Any!, configureBlock: Any!, sizeBlock: Any!)
Parameters
identifier
The identifier of the cell prototype in storyboard.
configureBlock
A block that configures the cell with the item given to the section controller.
sizeBlock
A block that returns the size for the cell given the collection context.
Return Value
A new section controller.
-
An optional delegate that handles selection and deselection.
Declaration
Objective-C
@property (readwrite, nonatomic, nullable) id<IGListSingleSectionControllerDelegate> selectionDelegate;
Swift
weak var selectionDelegate: IGListSingleSectionControllerDelegate? { get set }