我使用下面的行添加一个观察者:NSNotificationCenter - 观察反对时去除观察者被释放
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying) name:AVPlayerItemDidPlayToEndTimeNotification object:self.playerItem];
我的观察者(self
)将永远不会被释放。
但是,当用户开始播放不同的项目时,旧的self.playerItem
将被解除分配 - 但将总是被替换为新的,我想继续观察。
发生这种情况时,对于我的观察者作为观察者的状态会发生什么?我需要做些什么来停止观察解除分配的对象,就像KVO所需要的那样?或者我会继续观察self.playerItem
处的新对象吗?或者我的观察员会自动“未注册?”
如果我需要删除观察者,我想知道为什么没有相应的removeObserver
方法可以指定一个选择器;看来我可以通过removeObserver:(id)notificationObserver
删除只有批发商观察员。
酷,所以我可以指定对象:无,然后我就不用担心以往删除观察者。谢谢! – mkc842
不是。当您对进一步的通知处理不感兴趣时,您仍然应该删除观察者。但是你可能只做一次而不是为每个项目注销/ registerint。 –