diff --git a/AsyncDisplayKit/ASDisplayNode.mm b/AsyncDisplayKit/ASDisplayNode.mm index 1ed93f8182..1f41c17838 100644 --- a/AsyncDisplayKit/ASDisplayNode.mm +++ b/AsyncDisplayKit/ASDisplayNode.mm @@ -210,6 +210,11 @@ CGFloat ASDisplayNodeScreenScale() return YES; } +- (void)__exitedHierarchy +{ + +} + - (void)_loadViewOrLayerIsLayerBacked:(BOOL)isLayerBacked { ASDN::MutexLocker l(_propertyLock); @@ -1116,6 +1121,8 @@ static NSInteger incrementIfFound(NSInteger i) { ASDisplayNodeAssertMainThread(); ASDisplayNodeAssert(_flags.isInExitHierarchy, @"You should never call -didExitHierarchy directly. Appearance is automatically managed by ASDisplayNode"); ASDisplayNodeAssert(!_flags.isInEnterHierarchy, @"ASDisplayNode inconsistency. __enterHierarchy and __exitHierarchy are mutually exclusive"); + + [self __exitedHierarchy]; } - (void)reclaimMemory diff --git a/AsyncDisplayKit/Private/ASDisplayNodeInternal.h b/AsyncDisplayKit/Private/ASDisplayNodeInternal.h index fdc32e70c1..dd824c0de8 100644 --- a/AsyncDisplayKit/Private/ASDisplayNodeInternal.h +++ b/AsyncDisplayKit/Private/ASDisplayNodeInternal.h @@ -90,6 +90,7 @@ BOOL ASDisplayNodeSubclassOverridesSelector(Class subclass, SEL selector); // Swizzle to extend the builtin functionality with custom logic - (BOOL)__shouldLoadViewOrLayer; - (BOOL)__shouldSize; +- (void)__exitedHierarchy; - (void)__layout; - (void)__setSupernode:(ASDisplayNode *)supernode;