【发布时间】:2013-07-17 01:53:23
【问题描述】:
在我的 unwind segue 的 unwind action 方法中,我将数据发送到远程数据库,它会验证信息是否成功存储在数据库中。
我打算让我的验证函数返回 0 或 1,代表成功或失败,我打算将其用作条件。
我很好奇是否有办法在 unwind 操作方法中中止 unwind segue? (或者我应该在展开转场开始之前进行此验证,并阻止展开转场以某种方式开始?)
我已经阅读了ios segue "cancel",但我不知道他们说要覆盖是什么意思
-[UIViewController shouldPerformSegueWithIdentifier:sender:]
方法。我是否只是制作此方法的自定义版本(见下文)并在 unwind 操作方法中调用它,并根据我的情况使其返回 no/yes?我尝试使用以下方法覆盖该方法:
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if (database verification fails) {
return NO;
}
return YES;
}
我在我的 unwind action 方法中调用了它,但是它并没有取消 unwind segue。
我做错了什么,还是有其他方法可以中止 unwind 操作方法中的 unwind segue?
我是 iOS 新手,如果这个问题听起来很愚蠢,我很抱歉。感谢您的帮助!
【问题讨论】:
-
你的 shouldPerformSegueWithIdentifier 实现看起来没问题,但它属于你要从中进行的控制器,而不是动作方法。
-
感谢@rdelmar 的成功!