diff --git a/AsyncDisplayKit/ASCollectionNode.h b/AsyncDisplayKit/ASCollectionNode.h index d25a6de14e..74c5e5a543 100644 --- a/AsyncDisplayKit/ASCollectionNode.h +++ b/AsyncDisplayKit/ASCollectionNode.h @@ -18,4 +18,28 @@ @property (nonatomic, readonly) ASCollectionView *view; +/** + * Reload everything from scratch, destroying the working range and all cached nodes. + * + * @param completion block to run on completion of asynchronous loading or nil. If supplied, the block is run on + * the main thread. + * @warning This method is substantially more expensive than UICollectionView's version. + */ +- (void)reloadDataWithCompletion:(void (^)())completion; + +/** + * Reload everything from scratch, destroying the working range and all cached nodes. + * + * @warning This method is substantially more expensive than UICollectionView's version. + */ +- (void)reloadData; + +/** + * Reload everything from scratch entirely on the main thread, destroying the working range and all cached nodes. + * + * @warning This method is substantially more expensive than UICollectionView's version and will block the main thread + * while all the cells load. + */ +- (void)reloadDataImmediately; + @end diff --git a/AsyncDisplayKit/ASCollectionNode.m b/AsyncDisplayKit/ASCollectionNode.m index 680b85a80a..b75539d456 100644 --- a/AsyncDisplayKit/ASCollectionNode.m +++ b/AsyncDisplayKit/ASCollectionNode.m @@ -43,4 +43,21 @@ [self.view clearFetchedData]; } +#pragma mark - ASCollectionView Forwards + +- (void)reloadDataWithCompletion:(void (^)())completion +{ + [self.view reloadDataWithCompletion:completion]; +} + +- (void)reloadData +{ + [self.view reloadData]; +} + +- (void)reloadDataImmediately +{ + [self.view reloadDataImmediately]; +} + @end diff --git a/AsyncDisplayKit/ASPagerNode.h b/AsyncDisplayKit/ASPagerNode.h index 89c03fb965..faa6b02864 100644 --- a/AsyncDisplayKit/ASPagerNode.h +++ b/AsyncDisplayKit/ASPagerNode.h @@ -14,8 +14,6 @@ @property (weak, nonatomic) id dataSource; -- (void)reloadData; - - (void)setTuningParameters:(ASRangeTuningParameters)tuningParameters forRangeType:(ASLayoutRangeType)rangeType; @end diff --git a/AsyncDisplayKit/ASPagerNode.m b/AsyncDisplayKit/ASPagerNode.m index 218e69f5a6..fe18a8d0fe 100644 --- a/AsyncDisplayKit/ASPagerNode.m +++ b/AsyncDisplayKit/ASPagerNode.m @@ -49,11 +49,6 @@ [self setTuningParameters:renderParams forRangeType:ASLayoutRangeTypeRender]; } -- (void)reloadData -{ - [self.view reloadData]; -} - - (void)setTuningParameters:(ASRangeTuningParameters)tuningParameters forRangeType:(ASLayoutRangeType)rangeType { [self.view setTuningParameters:tuningParameters forRangeType:rangeType];