触发 segue 并在内部执行代码时是否有时间限制prepareForSegue:sender:
?
我的意思是,假设我在里面我正在触发一个AVPlayerViewController
,但是这个控制器需要一个必须异步下载的视频,所以在里面prepareForSegue:sender:
我有一个这样的代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
AVPlayerVC *playerViewController = (AVPlayerVC *)[segue destinationViewController];
[self.onDemandResources loadResourcesWithTags:@[tag]
runOnCompletion:^{
NSString *pathBundle = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"];
NSURL *videoURL = [NSURL fileURLWithPath:pathBundle];
AVPlayer *player = [AVPlayer playerWithURL:videoURL];
playerViewController.player = player;
[player play];
}];
}
我遇到的问题是[segue destinationViewController]
正在呈现,但视频从不播放。我的印象是代码需要很长时间才能执行并且已经呈现了segue。
有任何想法吗?