为什么我在尝试呈现视图控制器时获得EXC_BAD_ACCESS?

时间:2013-09-23 21:02:08

标签: ios exc-bad-access

我的代码是:

-(void)playMoviesForItems:(NSArray *)shopItems{
    _moviePlayer = [self.storyboard instantiateViewControllerWithIdentifier:@"videoPlayerController"];
    [_moviePlayer playMoviesForItems:shopItems];
    [self presentViewController:_moviePlayer animated:NO completion:^{
        [self.scrollView scrollRectToVisible:CGRectZero animated:YES];
    }];
}

在包含presentViewController的行中,我正在

EXC_BAD_ACCESS (code=1, address=.....)

我找不到为什么会得到这个。我哪里错了?我该怎么调试呢?

更新: 电影播放器​​声明如下:

@property(nonatomic,retain) VideoPlayerViewController* moviePlayer;

VideoPlayerController中的代码是:

-(VideoPlayerViewController*)playMoviesForItems:(NSArray*)items{
playerItems = [[NSMutableArray alloc] init];
for (ShopItem* item in items) {
    NSURL *url = [NSURL fileURLWithPath:item.localUrl];
    AVPlayerItem *videoItem = [AVPlayerItem playerItemWithURL:url];
    [playerItems addObject:videoItem];
}
self.mPlayer = [[AVQueuePlayer alloc] init];
self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:mPlayer];
self.playerLayer.bounds = self.view.bounds;
self.view.backgroundColor = [UIColor blackColor];
[mPlaybackView setPlayer:self.mPlayer];
currentIndex = 0;
[self initScrubberTimer];    
[self playAtIndex:currentIndex];
mScrubber.maximumValue =  CMTimeGetSeconds(self.mPlayer.currentItem.duration);
mScrubber.value = 0.0;
[self syncScrubber];
[self showOverlays];
return self;
}

有时它工作清楚。但有时它会破裂。

0 个答案:

没有答案