相关疑难解决方法(0)

KVO和ARC如何删除Observer

如何从ARC下的对象中删除观察者?我们只是添加观察者并忘记删除它吗?如果我们不再手动管理内存,我们会从观察中退出吗?

例如,在视图控制器上:

[self.view addObserver:self
            forKeyPath:@"self.frame"
               options:NSKeyValueObservingOptionNew 
               context:nil];
Run Code Online (Sandbox Code Playgroud)

以前,我会调用removeObserver:视图控制器的dealloc方法.

cocoa-touch key-value-observing ios automatic-ref-counting

87
推荐指数
1
解决办法
2万
查看次数

在ARC中我们需要发送removeObserver:explicit吗?

我们是否必须removeObserver:明确发送已作为观察者添加到NSNotificationCenter之前的对象?

我有点困惑,无法找到确切的答案.

请详细提供我,包括为什么我们需要显式删除Observer,以及为什么编译器没有隐式地将它放在类/应用程序中?

cocoa objective-c nsnotificationcenter automatic-ref-counting

16
推荐指数
3
解决办法
4257
查看次数