prepareForSegue适用于模态segue但不适用于推送segue

时间:2014-03-01 21:23:13

标签: ios storyboard uistoryboardsegue

我遇到的问题是,当我尝试使用push segue将数据传递给destinationViewController时,看起来好像没有通过。当我将segue改为模态segue时,一切都很完美。

[self performSegueWithIdentifier:@"segueToPlayCapturedMedia" sender:self];

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqual:@"segueToPlayCapturedMedia"]) {
        MediaPlayerViewController* mediaPlayerVC = segue.destinationViewController;
        mediaPlayerVC.fileURL = self.currentMediaFileURL;

        NSLog(@"on segue the recieved media file is  %@", mediaPlayerVC.fileURL);
    }
}

当我运行它时,我能够NSLog mediaPlayerVC.fileURL但是当我尝试在fileURL的{​​{1}}中记录viewDidLoad时,值是MediaPlayerViewController

在我看来,显示的nil实例与segue期间创建的实例不同。

1 个答案:

答案 0 :(得分:0)

您能否在mediaPlayerVC.h中显示属性fileURL的定义 它应该是这样的:

@property (strong, nonatomic) Type-mayBe-NSURL *fileURL;

强大非常重要!