Complete overhaul of ASFlowLayoutController.

Introduced ASIndexPath for efficient handling of index paths in C++ vectors,
while maintaining the readability of ".section" and ".row" instead of
".first" and ".second" inside of complicated business logic.

Confirmed that the working range calls are firing appropriately during
ASTableViewStressTest, including the deallocation of the rich text placeholders
provided by ASTextNode.
This commit is contained in:
Scott Goodson
2015-07-04 20:22:04 -07:00
parent 57465c7fd3
commit 8fa092fb77
10 changed files with 224 additions and 167 deletions

View File

@@ -8,7 +8,7 @@
#import <UIKit/UIKit.h>
#import <AsyncDisplayKit/ASDealloc2MainObject.h>
#import "ASFlowLayoutController.h"
@class ASCellNode;
@class ASDataController;
@@ -97,7 +97,8 @@ typedef NSUInteger ASDataControllerAnimationOptions;
* will be updated asynchronously. The dataSource must be updated to reflect the changes before these methods has been called.
* For each data updatin, the corresponding methods in delegate will be called.
*/
@interface ASDataController : ASDealloc2MainObject
@protocol ASFlowLayoutControllerDataSource;
@interface ASDataController : ASDealloc2MainObject <ASFlowLayoutControllerDataSource>
/**
Data source for fetching data info.
@@ -167,4 +168,6 @@ typedef NSUInteger ASDataControllerAnimationOptions;
- (NSArray *)nodesAtIndexPaths:(NSArray *)indexPaths;
- (NSArray *)completedNodes; // This provides efficient access to the entire _completedNodes multidimensional array.
@end