почему происходит сбой приложения, когда я освобождаю объект mpmovieplayercontroller и снова выделяю его при необходимости? - PullRequest
0 голосов
/ 14 ноября 2011

Я использую MPMoviePlayerController.Я инициализирую объект контроллера, и когда пользователь выходит или воспроизведение завершается, отправляется уведомление, и я освобождаю объект контроллера.Снова при нажатии кнопки для воспроизведения видео приложение вылетает.но когда я устанавливаю объект контроллера равным нулю после освобождения, все идет хорошо, и приложение не падает.объясните пожалуйста

-(void)playVideo { 
    MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL] ;
     self.mpMoviePlayer = moviePlayerController; 
    [moviePlayerController release]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlaybackComplete:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
 }

 -(void)moviePlaybackComplete:(NSNotification *)notification {
                 if(self.mpMoviePlayer) { 
                [self.mpMoviePlayer stop];
                  [mpMoviePlayer.view removeFromSuperview];
                 [mpMoviePlayer release];
                 mpMoviePlayer = nil;//If i dont set it to nil here the app crashes the second time video is played 
    }
...