我在发布通知时遇到了一些问题:
[[NSNotificationCenter defaultCenter] postNotificationName:@"MobileProviderChanged"
object:self.selectedProviderID];
没有被我的观察者困住:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(onProviderChanged:)
name:@"MobileProviderChanged"
object:nil];
完全相同的观察者在不同的ViewController中正常工作。
有关调试此方法的任何提示,以查看实际发布到defaultCenter的消息是什么?
感谢。
答案 0 :(得分:1)
我研究这个问题越多,我 不知道我的问题是不是 发送viewcontroller是在 与观察不同的线程 视图控制器。
错误的多线程几乎肯定是您问题的根源。但是,仍应发送和接收通知。
具体而言,将收到有关发送的任何线程的通知。既然你提到你正在使用视图控制器来响应通知,很可能你在UIKit不满意的非主线程上做了一些事情。
答案 1 :(得分:1)
遇到同样的问题。解决方案很简单,但并不明显:
确保在NSNotification交付期间观察者仍然存在。