iOS / Objective C中的通知问题

时间:2012-05-26 23:04:34

标签: objective-c ios nsnotifications

我正在使用不同的导航控制器制作应用程序。所有这些都是最初初始化的。

说,我有3个导航控制器A,B和C.

来自B的视图控制器(比如B1)发送一个应该从A中的视图控制器听到的通知(比如A1)。之后,我们去查看控制器A1。

但是,如果我们从头开始处于视图控制器B1中(并且从未进入View控制器A1),则A1不会收到通知。然而,它第二次得到它。

或者,如果我进入A1内部,则会正确接收通知。

有人可以帮助我吗?谢谢。

注意:侦听器代码位于A1的init中。它被击中(我使用断点检查)。

2 个答案:

答案 0 :(得分:0)

由于您在视图显示一次后说您收到了通知,我怀疑您是在一个方法中注册通知,该方法在显示视图之前不会运行(viewDidLoad,{{ 1}}等。

如果是这种情况,请尝试将通知注册移至您在ViewControllers中使用的viewDidAppear:方法。

答案 1 :(得分:0)

通过所有应用程序可以观察到NSNotification。所以,为了做你打算做的事情,我会使用布尔标志或计数器。您可以将这些指标放在appDelegate类中或使用全局变量。