我试图将myViewController订阅到自定义的NSNotification。视图层次结构看起来像这样:在UIViewController中没有收到NSNotification,它的视图是UIScrollview的子视图
window
- rootViewController.view
- scrollView
- myViewController.view
通知正在从RootViewController的的视图内的按钮发送到[NSNotificationCenter defaultCenter]。 rootViewController监听通知并对其做出响应。
我在myViewController中有完全相同的“侦听”代码,但由于某种原因它没有收到通知。如果它是应用程序的一部分,它应该收到通知,对吗?我在myViewController的initWithNibName方法中有一个调试消息,所以我知道它正在订阅通知。我甚至试图通过将通知名称设置为零来让myViewController侦听所有通知。例如:
NSLog(@"main view controller initialized");
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarVisibilityChanged:) name:nil object:nil];
但是也没有运气。有没有人看过类似的事情发生在NSNotifications之前?
任何想法?
谢谢!
将'name:'和'object:'设置为nil通常会让您选择的接收全部*通知,这真的是您想要的吗?另外,您确定注册和发送是在同一个线程上完成的吗? – DarkDust
为什么你把UIViewController放入你的scrollView而不是UIView? – Nyx0uf
你的对象上真的有一个'statusBarVisibilityChanged:'方法吗?仔细检查错别字。 – DarkDust