From 8b431733d38d08c838caaffe44ae26c1949d4b46 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Tue, 13 Feb 2018 12:02:30 -0800 Subject: [PATCH] Avoid triggering main thread assertions in collection/table dealloc #trivial (#803) * Avoid triggering main thread assertions in ASCollectionNode/ASTableNode dealloc * Put it back --- Source/ASCollectionNode.mm | 9 +++++++-- Source/ASTableNode.mm | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Source/ASCollectionNode.mm b/Source/ASCollectionNode.mm index 01669ca79e..d0cc5f2084 100644 --- a/Source/ASCollectionNode.mm +++ b/Source/ASCollectionNode.mm @@ -172,12 +172,17 @@ return self; } +#if ASDISPLAYNODE_ASSERTIONS_ENABLED - (void)dealloc { - if ([self isNodeLoaded]) { - ASDisplayNodeAssert(self.view.superview == nil, @"Node's view should be removed from hierarchy."); + if (self.nodeLoaded) { + __weak UIView *view = self.view; + ASPerformBlockOnMainThread(^{ + ASDisplayNodeCAssertNil(view.superview, @"Node's view should be removed from hierarchy."); + }); } } +#endif #pragma mark ASDisplayNode diff --git a/Source/ASTableNode.mm b/Source/ASTableNode.mm index 09e5eb9bd4..c35f90a878 100644 --- a/Source/ASTableNode.mm +++ b/Source/ASTableNode.mm @@ -104,12 +104,17 @@ return [self initWithStyle:UITableViewStylePlain]; } +#if ASDISPLAYNODE_ASSERTIONS_ENABLED - (void)dealloc { - if ([self isNodeLoaded]) { - ASDisplayNodeAssert(self.view.superview == nil, @"Node's view should be removed from hierarchy."); + if (self.nodeLoaded) { + __weak UIView *view = self.view; + ASPerformBlockOnMainThread(^{ + ASDisplayNodeCAssertNil(view.superview, @"Node's view should be removed from hierarchy."); + }); } } +#endif #pragma mark ASDisplayNode