if (mPlayerItem){
[mPlayerItem removeObserver:self forKeyPath:kStatusKey];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:AVPlayerItemDidPlayToEndTimeNotification
object:mPlayerItem];
}
//create AVPlayerItem
NSURL *url = [self getUrlWithROAudio:audioFile];
mPlayerItem = [AVPlayerItem playerItemWithURL:url];
[mPlayerItem addObserver:self
forKeyPath:kStatusKey
options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
context:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playerItemDidReachEnd:)
name:AVPlayerItemDidPlayToEndTimeNotification
object:mPlayerItem];
新しいAVPlayerItemを作成すると、最後のAVPlayerItemが存在するかどうかを確認し、removeObserverを取得しましたが、
-[AVPlayerItem removeObserver:forKeyPath:]:割り当て解除されたインスタンスにメッセージが送信されました
誰もが理由を知っていますか?