myViewControllerをカスタムNSNotificationに登録しようとしています。ビューの階層構造は、次のようになりますNSNotificationは、ビューがUIScrollviewのサブビューであるUIViewControllerで受信されていません。
window
- rootViewController.view
- scrollView
- myViewController.view
通知がrootViewControllerのビュー内のボタンから[NSNotificationCenter defaultCenter]に送信されています。 rootViewControllerは通知をリッスンし、通知に応答します。
私はmyViewController内に同じ "リスニング"コードを持っていますが、何らかの理由で通知を受け取っていません。アプリの一部であれば通知を受け取るはずですが、正しいのですか?私はmyViewControllerのinitWithNibNameメソッドの中にデバッグメッセージを持っているので、それが通知を購読していることを知っています。私は、通知名をnilに設定することによって、myViewControllerがすべての通知をlistenすることを試みました。例:
NSLog(@"main view controller initialized");
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarVisibilityChanged:) name:nil object:nil];
しかし、そこにも運がありません。このようなことをNSNotificationsで誰も見たことがありますか?
アイデア?
ありがとうございます!
'name:'と 'object:'の両方をnilに設定すると、通常は選択したreceive * all *通知が行われます。また、登録と送信の両方が同じスレッドで行われていることを確認してください。 – DarkDust
UIViewControllerをスクロールビュー内に配置し、UIViewを配置しないのはなぜですか? – Nyx0uf
実際にあなたのオブジェクトに 'statusBarVisibilityChanged:'メソッドがありますか?タイプミスを二度確認してください。 – DarkDust