【发布时间】:2016-04-12 19:24:12
【问题描述】:
这种类别方法是否允许我避免对NSNotificationCenter 观察者的额外保留?
#import "NSNotificationCenter+Util.h"
@implementation NSNotificationCenter (Util)
- (void)addWeakObserver:(nonnull NSObject*)observer selector:(nonnull SEL)aSelector name:(nullable NSString *)aName object:(nullable id)anObject {
__weak NSObject *weakObserver = observer;
[self addObserver:weakObserver selector:aSelector name:aName object:anObject];
}
@end
目标是让对象死掉而不必移除它。
注意:我试图避免这种情况导致保留周期:
一定要在之前调用
removeObserver:name:object:notificationObserver或指定的任何对象addObserver:selector:name:object:已被释放。
【问题讨论】:
标签: objective-c automatic-ref-counting nsnotificationcenter