mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-17 11:50:56 +00:00
[ASTableNode] expose ASTableView's -visibleNodes (#2449)
* expose ASTableView's -visibleNodes getter at the ASTableNode level * add safegaurds * make visibleNodes a read only property for ASTableNode * make collectionNode .visibleNodes property
This commit is contained in:
parent
3638feffd4
commit
97e23776e4
@ -335,9 +335,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
/**
|
/**
|
||||||
* Similar to -visibleCells.
|
* Similar to -visibleCells.
|
||||||
*
|
*
|
||||||
* @return an array containing the nodes being displayed on screen.
|
* @return an array containing the nodes being displayed on screen. This must be called on the main thread.
|
||||||
*/
|
*/
|
||||||
- (NSArray<__kindof ASCellNode *> *)visibleNodes AS_WARN_UNUSED_RESULT;
|
@property(readonly, copy) NSArray<__kindof ASCellNode *> *visibleNodes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the node for the item at the given index path.
|
* Retrieves the node for the item at the given index path.
|
||||||
|
|||||||
@ -349,7 +349,8 @@
|
|||||||
|
|
||||||
- (NSArray<__kindof ASCellNode *> *)visibleNodes
|
- (NSArray<__kindof ASCellNode *> *)visibleNodes
|
||||||
{
|
{
|
||||||
return [self.view visibleNodes];
|
ASDisplayNodeAssertMainThread();
|
||||||
|
return self.isNodeLoaded ? [self.view visibleNodes] : @[];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSIndexPath *)indexPathForNode:(ASCellNode *)cellNode
|
- (NSIndexPath *)indexPathForNode:(ASCellNode *)cellNode
|
||||||
|
|||||||
@ -339,6 +339,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
*/
|
*/
|
||||||
- (NSInteger)tableNode:(ASTableNode *)tableNode numberOfRowsInSection:(NSInteger)section;
|
- (NSInteger)tableNode:(ASTableNode *)tableNode numberOfRowsInSection:(NSInteger)section;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Similar to -visibleCells.
|
||||||
|
*
|
||||||
|
* @return an array containing the nodes being displayed on screen. This must be called on the main thread.
|
||||||
|
*/
|
||||||
|
@property(readonly, copy) NSArray<__kindof ASCellNode *> *visibleNodes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks the data source for a block to create a node to represent the row at the given index path.
|
* Asks the data source for a block to create a node to represent the row at the given index path.
|
||||||
* The block will be run by the table node concurrently in the background before the row is inserted
|
* The block will be run by the table node concurrently in the background before the row is inserted
|
||||||
|
|||||||
@ -371,6 +371,12 @@ ASEnvironmentCollectionTableSetEnvironmentState(_environmentStateLock)
|
|||||||
return [self.dataController numberOfSections];
|
return [self.dataController numberOfSections];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (NSArray<__kindof ASCellNode *> *)visibleNodes
|
||||||
|
{
|
||||||
|
ASDisplayNodeAssertMainThread();
|
||||||
|
return self.isNodeLoaded ? [self.view visibleNodes] : @[];
|
||||||
|
}
|
||||||
|
|
||||||
- (NSIndexPath *)indexPathForNode:(ASCellNode *)cellNode
|
- (NSIndexPath *)indexPathForNode:(ASCellNode *)cellNode
|
||||||
{
|
{
|
||||||
return [self.dataController indexPathForNode:cellNode];
|
return [self.dataController indexPathForNode:cellNode];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user