From 5a8d0037ec96dc3af3e313d9af28c34575685516 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Tue, 18 Oct 2016 11:00:09 -0700 Subject: [PATCH] Add wait method to ASCollectionNode (#2416) --- AsyncDisplayKit/ASCollectionNode.h | 5 +++++ AsyncDisplayKit/ASCollectionNode.mm | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/AsyncDisplayKit/ASCollectionNode.h b/AsyncDisplayKit/ASCollectionNode.h index b54d7ee79a..932c6de132 100644 --- a/AsyncDisplayKit/ASCollectionNode.h +++ b/AsyncDisplayKit/ASCollectionNode.h @@ -159,6 +159,11 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)performBatchUpdates:(nullable __attribute((noescape)) void (^)())updates completion:(nullable void (^)(BOOL finished))completion; +/** + * Blocks execution of the main thread until all section and item updates are committed to the view. This method must be called from the main thread. + */ +- (void)waitUntilAllUpdatesAreCommitted; + /** * Inserts one or more sections. * diff --git a/AsyncDisplayKit/ASCollectionNode.mm b/AsyncDisplayKit/ASCollectionNode.mm index 664ca7cc13..111691b824 100644 --- a/AsyncDisplayKit/ASCollectionNode.mm +++ b/AsyncDisplayKit/ASCollectionNode.mm @@ -323,6 +323,11 @@ [self.view performBatchUpdates:updates completion:completion]; } +- (void)waitUntilAllUpdatesAreCommitted +{ + [self.view waitUntilAllUpdatesAreCommitted]; +} + - (void)reloadDataWithCompletion:(void (^)())completion { [self.view reloadDataWithCompletion:completion];