ASRangeController Class Reference
Inherits from | ASDealloc2MainObject |
---|---|
Conforms to | ASDataControllerDelegate |
Declared in | ASRangeController.h |
Overview
Working range controller.
Used internally by ASTableView and ASCollectionView. It is paired with ASDataController. It is designed to support custom scrolling containers as well. Observes the visible range, maintains “working ranges” to trigger network calls and rendering, and is responsible for driving asynchronous layout of cells. This includes cancelling those asynchronous operations as cells fall outside of the working ranges.
– setNeedsUpdate
Notify the range controller that the visible range has been updated. This is the primary input call that drives updating the working ranges, and triggering their actions. The ranges will be updated in the next turn of the main loop, or when -updateIfNeeded is called.
- (void)setNeedsUpdate
Declared In
ASRangeController.h
– updateIfNeeded
Update the ranges immediately, if -setNeedsUpdate has been called since the last update. This is useful because the ranges must be updated immediately after a cell is added into a table/collection to satisfy interface state API guarantees.
- (void)updateIfNeeded
Declared In
ASRangeController.h
– configureContentView:forCellNode:
Add the sized node for indexPath
as a subview of contentView
.
- (void)configureContentView:(UIView *)contentView forCellNode:(ASCellNode *)node
Parameters
contentView |
UIView to add a (sized) node’s view to. |
---|---|
node |
The cell node to be added. |
Declared In
ASRangeController.h
layoutController
An object that describes the layout behavior of the ranged component (table view, collection view, etc.)
@property (nonatomic, strong) id<ASLayoutController> layoutController
Discussion
Used primarily for providing the current range of index paths and identifying when the range controller should invalidate its range.
Declared In
ASRangeController.h
dataSource
The underlying data source for the range controller
@property (nonatomic, weak) id<ASRangeControllerDataSource> dataSource
Declared In
ASRangeController.h
delegate
Delegate for handling range controller events. Must not be nil.
@property (nonatomic, weak) id<ASRangeControllerDelegate> delegate
Declared In
ASRangeController.h