如何从ARC下的对象中删除观察者?我们只是添加观察者并忘记删除它吗?如果我们不再手动管理内存,我们会从观察中退出吗?
例如,在视图控制器上:
[self.view addObserver:self
forKeyPath:@"self.frame"
options:NSKeyValueObservingOptionNew
context:nil];
Run Code Online (Sandbox Code Playgroud)
以前,我会调用removeObserver:视图控制器的dealloc方法.
我们是否必须removeObserver:明确发送已作为观察者添加到NSNotificationCenter之前的对象?
我有点困惑,无法找到确切的答案.
请详细提供我,包括为什么我们需要显式删除Observer,以及为什么编译器没有隐式地将它放在类/应用程序中?
cocoa objective-c nsnotificationcenter automatic-ref-counting