我试图执行shouldPerformSegueWithIdentifier
并在控制器之间传递一些参数。
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if ([identifier isEqualToString:@"myid" ]) {
return NO;
}
mydestviewcontroller* my = [segue destinationviewcontroller];
my.stringtopass= data;
return YES;
}
}
我在[segue destinationviewcontroller]
的segue上收到错误
相反,如果我使用准备segue它没有显示。
我需要在segue发生之前执行一些检查,如果发生这种情况,我需要将参数传递给目标控制器。帮帮我的人!!
答案 0 :(得分:2)
在控制器之间传递一些参数使用prepareForSegue
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifer isEqualToString:"myId"]) {
mydestviewcontroller* my = [segue destinationViewController];
my.stringtopass= data;
}
答案 1 :(得分:1)
在shouldPerformSegueWithIdentifier
内执行检查,然后在prepareForSegue
内传递数据。只有在prepareForSegue
中返回YES
时才会执行shouldPerformSegueWithIdentifier
。