player が (非アトミック、retain) であり、player = _player を使用して合成される場合、次のシナリオのうち正しいコーディング方法はどれですか。
シナリオA
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
self.player = mp;
[mp release];
シナリオB
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
self.player = mp;
これまではシナリオ A を一般的な方法として使用してきましたが、これがコード内でメモリ リークを引き起こしている可能性があると思います。
助けてくれてありがとう。
編集1:
タイマーにも同じことが当てはまりますか?以下のコードを使用している場合、これは正しいですか? timerMap も (nonatomic、retain) であり、timerMap = _timerMap を使用する場合。
self.timerMap = [[NSTimer scheduledTimerWithTimeInterval:fps target:self selector:@selector(updateAnimationTimer) userInfo:nil repeats:YES] autorelease];
また、解放するときは無効化するだけでよいのでしょうか、それとも無効化してから解放するべきでしょうか?