ASCollectionDataSource Protocol Reference

Conforms to ASCommonCollectionViewDataSource
Declared in ASCollectionView.h

Overview

This is a node-based UICollectionViewDataSource.

– collectionView:nodeForItemAtIndexPath:

Similar to -collectionView:cellForItemAtIndexPath:.

- (ASCellNode *)collectionView:(ASCollectionView *)collectionView nodeForItemAtIndexPath:(NSIndexPath *)indexPath

Parameters

collectionView

The sender.

indexPath

The index path of the requested node.

Return Value

a node for display at this indexpath. This will be called on the main thread and should not implement reuse (it will be called once per row). Unlike UICollectionView’s version, this method is not called when the row is about to display.

Declared In

ASCollectionView.h

– collectionView:nodeBlockForItemAtIndexPath:

Similar to -collectionView:nodeForItemAtIndexPath: This method takes precedence over collectionView:nodeForItemAtIndexPath: if implemented.

- (ASCellNodeBlock)collectionView:(ASCollectionView *)collectionView nodeBlockForItemAtIndexPath:(NSIndexPath *)indexPath

Parameters

collectionView

The sender.

indexPath

The index path of the requested node.

Return Value

a block that creates the node for display at this indexpath. Must be thread-safe (can be called on the main thread or a background queue) and should not implement reuse (it will be called once per row).

Declared In

ASCollectionView.h

– collectionView:nodeForSupplementaryElementOfKind:atIndexPath:

Asks the collection view to provide a supplementary node to display in the collection view.

- (ASCellNode *)collectionView:(ASCollectionView *)collectionView nodeForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath

Parameters

collectionView

An object representing the collection view requesting this information.

kind

The kind of supplementary node to provide.

indexPath

The index path that specifies the location of the new supplementary node.

Declared In

ASCollectionView.h

– collectionView:constrainedSizeForNodeAtIndexPath:

Provides the constrained size range for measuring the node at the index path.

- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForNodeAtIndexPath:(NSIndexPath *)indexPath

Parameters

collectionView

The sender.

indexPath

The index path of the node.

Return Value

A constrained size range for layout the node at this index path.

Declared In

ASCollectionView.h

– collectionViewLockDataSource:

Indicator to lock the data source for data fetching in async mode. We should not update the data source until the data source has been unlocked. Otherwise, it will incur data inconsistency or exception due to the data access in async mode. (Deprecated: The data source is always accessed on the main thread, and this method will not be called.)

- (void)collectionViewLockDataSource:(ASCollectionView *)collectionView

Parameters

collectionView

The sender.

Declared In

ASCollectionView.h

– collectionViewUnlockDataSource:

Indicator to unlock the data source for data fetching in async mode. We should not update the data source until the data source has been unlocked. Otherwise, it will incur data inconsistency or exception due to the data access in async mode. (Deprecated: The data source is always accessed on the main thread, and this method will not be called.)

- (void)collectionViewUnlockDataSource:(ASCollectionView *)collectionView

Parameters

collectionView

The sender.

Declared In

ASCollectionView.h