相关疑难解决方法(0)

避免保留周期,NSNotificationCenter?

这种类别方法是否允许我避免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
Run Code Online (Sandbox Code Playgroud)

目标是让对象死掉而不必将其移除.


注意:我试图避免这导致保留周期:

一定要调用removeObserver:name:object:之前 notificationObserver或在指定的任何对象 addObserver:selector:name:object:被释放.

objective-c nsnotificationcenter automatic-ref-counting

5
推荐指数
2
解决办法
2589
查看次数