diff --git a/Source/ASCollectionNode.mm b/Source/ASCollectionNode.mm index 01669ca7..d0cc5f20 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 09e5eb9b..c35f90a8 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