gpt4 book ai didi

objective-c - NSNotification 没有到达所有观察者

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:20 24 4
gpt4 key购买 nike

我将 NSNotification 用于一组特定的事件。我有三个 View ,因此我在 View 1 上有一个“添加”按钮,单击它可以让我从 View 1 导航到 View 2 再到 View 3,然后再返回到 View 1。

1->2->3->1

如果单击 View 1 上的 ADD 按钮,我使用 NSNotification 推送 View Controller ,并根据 View 1 发布的通知分别更新其他 View 。

当通知从 View 1 发送时,只有 View 2 会收到它。 View 3 没有。

这怎么可能?观察者的代码在 View 2 和 View 3 上完全相同。

这是在 View 2 和 View 3 中添加观察者的代码:

[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(didPressAdd:)
name:@"DidAddNotification"
object:nil];

我还在 dealloc() 函数中正确删除了它们。

最佳答案

使用导航 Controller 导航回 1 将删除 2 和 3。因此在 dealloc 中,添加一条日志,说明特定 Controller 已停止监听。您会看到监听器正在被释放,之后它不会再监听通知。更新了 sample发送返回通知。

关于objective-c - NSNotification 没有到达所有观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6308657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com