我有两个ViewControllers:FormViewController
被绑定到CompleteRegisteringViewController
我的FormViewController
包含用户写入用户名,密码,确认密码等的文本字段......以及ConfirmButton
但它有完成注册的条件,例如:如果密码字段文本与确认密码字段文本不同,那么,如果是,则FormViewController
和CompleteRegisteringViewController
之间的转换被阻止,并且用户留在FormViewController
上修改遇到的错误。
我已经有了组织代码的想法,但问题是如何“阻止”segue?
答案 0 :(得分:2)
您可以使用shouldPerformSegueWithIdentifier
方法:
override func shouldPerformSegueWithIdentifier(identifier: String!, sender: AnyObject!) -> Bool {
if identifier == "YOUR SEGUE NAME" {
// TODO: Do your validation here
// Return true if the validation pass, otherwise return false
}
}
答案 1 :(得分:0)
在objective-c中您可以通过在代码中添加以下方法来实现此目的
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if([identifier isEqualToString:@"btnSegue"])
{
return YES;
}
else
{
return NO;
}
}
让我们假设您的segue是btnSegue.And如果您需要根据某些条件执行segue,您可以拥有以下代码
if(check)
{
[self performSegueWithIdentifier:@"btnSegue" sender:self];
}
如果检查是BOOL
,您可以根据自己的情况设置为真或假。