【问题标题】:NSNotificationCenter removing observer twiceNSNotificationCenter 两次删除观察者
【发布时间】:2012-08-31 17:12:12
【问题描述】:

在我的代码中,有一个罕见的例子,观察者将被第二次删除。这会导致问题吗?

【问题讨论】:

  • 这个问题有点含糊。是否可以提供有关您如何通过和接收通知的更多详细信息?另外,您是如何在通知中心添加和删除对象的?
  • 这毫无意义。你说“观察者将被第二次删除”。如果您知道它将被删除,为什么您不能采取措施避免这种情况?

标签: iphone objective-c xcode nsnotificationcenter


【解决方案1】:

是的。如果您不是观察者并且您尝试移除自己,您的应用程序将会崩溃。没有办法检查您是否已注册,因此您必须创建一个 ivar 来标记您是否被添加为观察者(或者,也许更好的是,计算您被添加为观察者的次数)并在实际移除自己之前检查 ivar。

编辑:事实证明,您可以在添加之前将自己移除,所以我想,虽然这不是一个很棒的设计,但如果您将自己移除两次也没关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多