我想在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设置一个标识符,我的问题就会解决,但我不知道该怎么做。
答案 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"。您可以将自己的个人名称添加到标识符中。