调试NSNotificationCenter问题的方法?

CBG*_*rey 8 iphone debugging objective-c

我发布的通知中有一些问题:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MobileProviderChanged" 
                                                    object:self.selectedProviderID];
Run Code Online (Sandbox Code Playgroud)

不被我的观察者困住:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(onProviderChanged:) 
                                             name:@"MobileProviderChanged"
                                           object:nil];
Run Code Online (Sandbox Code Playgroud)

完全相同的观察者在不同的ViewController中正常工作.

有关调试此方法的任何提示,以查看实际发布到defaultCenter的消息是什么?

谢谢.

bbu*_*bum 1

我对这个问题研究得越多,我想知道我的问题是否是发送视图控制器与观察视图控制器位于不同的线程上。

不正确的多线程几乎肯定是问题的根源。但是,仍应发送和接收通知。

具体来说,无论发送通知的线程如何,都将收到通知。既然您提到您正在对视图控制器进行处理以响应通知,那么您很可能正在非主线程上执行 UIKit 不满意的操作。