From 66b071fafab2bbf0f21bc88f434197fc84c6a56d Mon Sep 17 00:00:00 2001 From: Zeposhe Date: Thu, 12 May 2016 15:04:58 +0800 Subject: [PATCH] Fix crash --- MLeaksFinder/NSObject+MemoryLeak.m | 4 ++-- MLeaksFinder/UIApplication+MemoryLeak.m | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MLeaksFinder/NSObject+MemoryLeak.m b/MLeaksFinder/NSObject+MemoryLeak.m index 2c423a6..c4b4405 100644 --- a/MLeaksFinder/NSObject+MemoryLeak.m +++ b/MLeaksFinder/NSObject+MemoryLeak.m @@ -20,8 +20,8 @@ - (BOOL)willDealloc { if ([[NSObject classNamesInWhiteList] containsObject:className]) return NO; - id sender = objc_getAssociatedObject([UIApplication sharedApplication], kLatestSenderKey); - if (sender == self) + NSNumber *senderPtr = objc_getAssociatedObject([UIApplication sharedApplication], kLatestSenderKey); + if ([senderPtr isEqualToNumber:@((uintptr_t)self)]) return NO; __weak id weakSelf = self; diff --git a/MLeaksFinder/UIApplication+MemoryLeak.m b/MLeaksFinder/UIApplication+MemoryLeak.m index 7e2c3d6..3ab3c59 100644 --- a/MLeaksFinder/UIApplication+MemoryLeak.m +++ b/MLeaksFinder/UIApplication+MemoryLeak.m @@ -24,7 +24,7 @@ + (void)load { } - (BOOL)swizzled_sendAction:(SEL)action to:(id)target from:(id)sender forEvent:(UIEvent *)event { - objc_setAssociatedObject(self, kLatestSenderKey, sender, OBJC_ASSOCIATION_ASSIGN); + objc_setAssociatedObject(self, kLatestSenderKey, @((uintptr_t)sender), OBJC_ASSOCIATION_RETAIN); return [self swizzled_sendAction:action to:target from:sender forEvent:event]; }