1>NSNotification 必須要先注冊(cè)觀察者,然后發(fā)送通知胧瓜,觀察者才能收到通知
如果順序相反矢棚,則不會(huì)收到通知,比如viewController1 跳轉(zhuǎn)到viewController2,同時(shí)發(fā)送通知府喳,然后在viewController2中注冊(cè)觀察者接收通知,這樣是接收不到的蘑拯;
2>關(guān)于循環(huán)引用
- (id <NSObject>)addObserverForName:(nullable NSNotificationName)name object:(nullable id)obj queue:(nullable NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));
在這個(gè)方法中的block代碼塊中如果你使用了self.會(huì)造成循環(huán)引用钝满,原因不知,猜測(cè)應(yīng)該是觀察者默認(rèn)為self,且持有了該block申窘;