以编程方式运行prepareForSegue

时间:2014-08-24 18:49:25

标签: ios objective-c xcode segue

我想在prepareForSegue中运行一些代码。问题是我正在以编程方式更改视图,因此没有运行prepareForSegue函数。我也不知道如何运行它,因为我无法给它一个标识符。

prepareForSegue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    NSLog(@"hi");
}

我尝试使用的代码手动调用该函数:

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

代码I用于在视图之间进行更改:

UIViewController *second = [self.storyboard instantiateViewControllerWithIdentifier:@"gameOverPage"];
[self presentViewController:second animated:YES completion:nil];

我想如果我能为segue设置一个标识符,我的问题就会解决,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:4)

如果您不使用Storyboard,则无法使用与segue相关的方法。 相反,只需在显示控制器之前配置它。

UIViewController *second = [self.storyboard instantiateViewControllerWithIdentifier:@"gameOverPage"];
// configure your controller
second.propertyA = value;
[self presentViewController:second animated:YES completion:nil];

答案 1 :(得分:0)

您可以在Storyboard中为segue设置标识符:只需单击segue并选择属性检查器(Xcode的右侧),在那里您可以找到文本字段" Identifier"。您可以将自己的个人名称添加到标识符中。