是NSNotificationCenter removeObserver在ARC需要的? [重复

2019-07-28 05:35发布

这个问题已经在这里有一个答案:

  • 志愿和ARC如何removeObserver 3个回答
  • 在ARC我们需要发送removeObserver:明确? 4个回答

是否加入一个观察者增加保留对象的数量? 如果是,那么ARC处理这个观察者的去除呢? 如果不是这样,我应该在哪里删除观察者?

Answer 1:

你应该明确地甚至使用删除观察者ARC 。 创建dealloc方法和删除有..

-(void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

如果你看到的方法,你不需要调用[super dealloc]; 在这里,只需要有超级的dealloc方法。

更新斯威夫特

如果你是在迅速编写代码,您可以在DEINIT方法去除观测。

deinit {
        NSNotificationCenter.defaultCenter().removeObserver(self)
       }


文章来源: Is NSNotificationCenter removeObserver in ARC needed? [duplicate]