iOS /目标C中的UINotification问题
Posted
技术标签:
【中文标题】iOS /目标C中的UINotification问题【英文标题】:Issue with UINotification in iOS / objective C 【发布时间】:2012-05-26 23:04:34 【问题描述】:我正在使用不同的导航控制器制作应用程序。它们都被初始化了。
说,我有 3 个导航控制器 A、B 和 C。
来自 B 的视图控制器(比如 B1)发送一个应该从 A 中的视图控制器(比如 A1)听到的通知。之后,我们去查看控制器A1。
但是,如果我们从一开始就在视图控制器 B1 中(并且从未进入视图控制器 A1),那么 A1 就不会收到通知。但是,它第二次得到它。
或者,如果我进入 A1 一次,那么通知就会被正确接收。
任何人都可以帮助我吗?谢谢。
注意:监听器代码在 A1 的 init 中。它被命中(我使用断点检查)。
【问题讨论】:
您能否重新表述一下您的问题,不清楚B1是发布通知还是收听通知。 @0x8badf00d :B1 发布通知。 A1 监听这些通知。 【参考方案1】:由于您说在视图显示一次后收到通知,我怀疑您正在以一种在显示视图之前不会运行的方法注册通知(viewDidLoad
,viewDidAppear:
, ETC。)。
如果是这种情况,请尝试将您的通知注册移动到您在 ViewControllers 中使用的 init
方法。
【讨论】:
我是在init
方法中做的.. :(
嗯。那我就不知所措了。不过我会继续思考,如果我想出什么办法,我会告诉你的。如果您有更多上下文或代码要发布,可能会有所帮助。【参考方案2】:
NSNotification 可以通过所有应用程序观察到。因此,要执行您计划执行的操作,我会使用布尔标志或计数器。您可以将这些指标放在 appDelegate 类中或使用全局变量。
【讨论】:
以上是关于iOS /目标C中的UINotification问题的主要内容,如果未能解决你的问题,请参考以下文章