0

我将 MPMoviePlayerController 子类化。在该课程中,我附上了我需要的所有可能的通知。DidFinishPlaybackExitFullScreen在它的加载方法中。我的问题是,如果我想停止电影并关闭电影播放器​​视图,我可以(并且我需要)删除moviePlayerPlaybackStateDidChange方法 on中的观察者stateStopped吗?如果我不这样做会发生什么?

4

1 回答 1

2

删除任何类型的观察者最重要的地方是在 dealloc 方法中。最佳做法是在您完成观察后立即删除观察者,但绝对需要由 dealloc 完成。

这样做的原因是,如果您注册为某事的观察者并且您的类被释放,那么您正在观察的对象可能会尝试回调到现在释放的对象。这很可能会导致 EXC_BAD_ACCESS 并关闭您的应用程序。

于 2011-01-27T18:34:46.323 回答