【问题标题】:prepareForSegue works for modal segue but not push segueprepareForSegue 适用于模态 segue 但不适用于 push segue
【发布时间】:2014-03-01 21:23:12
【问题描述】:

我遇到的问题是,当我尝试使用 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 但是当我尝试在 viewDidLoadviewDidLoad 中记录 fileURL 时,值是 nil

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

【问题讨论】:

  • 您尝试登录viewWillAppear: 方法吗?
  • 你调试代码了吗?

标签: ios storyboard uistoryboardsegue


【解决方案1】:

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

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

真的很重要!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 2015-01-21
    相关资源
    最近更新 更多