Avoid saving loops, NSNotificationCenter?

Will this category method allow me to avoid extra retention on observers 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

The goal is to make the object die without deleting it.


Note: I am trying to avoid this in order to cause save loops:

Be sure to call removeObserver:name:object:before notificationObserveror any object specified in the addObserver:selector:name:object:exempt.

+4
source share
2 answers

- weakObserver weak, nil, observer , addObserver:... , . , , , .

NSNotificationCenter , . . , , : , , , .

, , , nil.

iOS 9 OS X v10.11, . , .

+4

NSNotificationCenter observer, , addObserver:selector:name:object:. .

removeObserver:name:object: , NSNotificationCenter OS X 10.11 (El Capitan) iOS 9. , observer , observer , observer. , , .

, , OS X 10.11 iOS 9, observer, .

, -[NSNotificationCenter -addObserverForName:object:queue:usingBlock:], , , , , .

+6

All Articles