我正在尝试使用shouldPerformSegueWithIdentifier来验证我的segue是否会被执行。问题是segue首先执行,然后检查shouldPerformSegue。在我的应用程序中,这只发生在我的视图控制器的初始加载期间,但成功地处理继续加载。
- (BOOL) shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if ([identifier isEqualToString:@"gameplay"]) {
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"preventSegue"] == YES) {
return NO;
}
}
return YES;
}
答案 0 :(得分:1)
问题在于我与performSegueWithIdentifier
一起呼叫shouldPerformSegueWithIdentifier
。由于shouldPerformSegue
首先被调用,因此未调用performSegueWithIdentifier
。
答案 1 :(得分:0)
可能是您已将一个segue直接从UIButton / UITableViewCell / UIBarButton连接到下一个视图控制器。请删除该segue,然后从源视图控制器创建一个新的segue到目标视图控制器。您可以检查是否正确完成。如果选择segue,则会突出显示整个视图控制器。完成后,在属性检查器中为该segue命名,然后在该按钮上点击performSegueWithIdentifier
。您的shouldPerformSegueWithIdentifier
将按预期工作。