From 2d26249cb0406cebab54d9980fd94a04a2b7ff13 Mon Sep 17 00:00:00 2001 From: Nadine Salter Date: Mon, 20 Oct 2014 13:47:31 -0700 Subject: [PATCH] Add -didExitHierarchy internal hook. --- AsyncDisplayKit/ASDisplayNode.mm | 7 +++++++ AsyncDisplayKit/Private/ASDisplayNodeInternal.h | 1 + 2 files changed, 8 insertions(+) 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;