NSNotification 专注iOS开发

1 NSNotification 使用的是同步操作,即如果你在程序A 位置post了一个NSNotification,在B位置注册了一个

observer,通知发出后,必须等到B位置的通知回调执行完以后才能返回A处继续往下进行

如果想让NSNotification 的post 处 和 observer 处异步执行,可以通过NSNotificationQueue 实现


2 多个观察者的执行顺序

对于同一个通知,如果注册了多个观察者,则这多个观察者的执行顺序和他们的注册顺序保持一致


3 NSNotification通知转发线程

NSNotification 在转发NSNotification消息的时候 在哪个线程post 就在哪个线程中转发,不管你observer在那个线程 ovserver

的回调方法执行线程都和post的线程保持一致 如果要线程不同 可以通过NSNotification 重定向技术


4 addObserver 与 removeObserver 保持一致 一般都在deaclloc中remove 对应的add

因为 NSNotificationcenter 并不增加观察者对象的引用计数,因此在观察者被释放之前必须移除观察者队列

否则 会导致crash


你可能感兴趣的:(NSNotification 专注iOS开发)