mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-15 18:59:54 +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.
|
||||
*
|
||||
* @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.
|
||||
|
||||
@ -349,7 +349,8 @@
|
||||
|
||||
- (NSArray<__kindof ASCellNode *> *)visibleNodes
|
||||
{
|
||||
return [self.view visibleNodes];
|
||||
ASDisplayNodeAssertMainThread();
|
||||
return self.isNodeLoaded ? [self.view visibleNodes] : @[];
|
||||
}
|
||||
|
||||
- (NSIndexPath *)indexPathForNode:(ASCellNode *)cellNode
|
||||
|
||||
@ -339,6 +339,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
*/
|
||||
- (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.
|
||||
* 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];
|
||||
}
|
||||
|
||||
- (NSArray<__kindof ASCellNode *> *)visibleNodes
|
||||
{
|
||||
ASDisplayNodeAssertMainThread();
|
||||
return self.isNodeLoaded ? [self.view visibleNodes] : @[];
|
||||
}
|
||||
|
||||
- (NSIndexPath *)indexPathForNode:(ASCellNode *)cellNode
|
||||
{
|
||||
return [self.dataController indexPathForNode:cellNode];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user