NSNotificationCenter
known不会保留/释放观察员。这很有意义,而且我也经历过相关的问题。
无论如何,今天我意识到我真的不确定。 The official documentation对于重新计算内容并没有说什么。
虽然讨论部分说我们必须在解除分配之前取消注册观察者,但这并不意味着中心不会保留它们。并且中心的行为会导致解除分配时间不同。
然后,我无法从文档中找到任何内容。
但实际上,我们已经知道添加/删除观察者方法并不能通过经验保留观察者。不完整的引用是非常特殊的行为,可能会导致严重的错误,那么我相信应该明确提到这一点。
它在哪里?
答案 0 :(得分:0)
不,观察员不会被保留。这就是为什么当你使一个对象成为一个观察者时,你必须确保它在dealloc方法中停止观察。从逻辑上讲,观察对象应该知道关于观察者的 nothing ,不应该关心观察者,因此不应该对观察者有强烈的引用。