Ios 如何使Segue通过数据并仅在满足某些条件时执行

Ios 如何使Segue通过数据并仅在满足某些条件时执行,ios,objective-c,properties,segue,ibaction,Ios,Objective C,Properties,Segue,Ibaction,我有一个带有按钮的登录页面。当我单击它时,如果并且仅当登录成功时,我希望将数据传递给另一个类(使用属性) 我曾尝试使用按钮上的Segue传递数据,但问题是,该Segue总是转到下一个视图,即使登录不成功,在这种情况下也不应该 -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"gotoMainPag

我有一个带有按钮的登录页面。当我单击它时,如果并且仅当登录成功时,我希望将数据传递给另一个类(使用属性)

我曾尝试使用按钮上的Segue传递数据,但问题是,该Segue总是转到下一个视图,即使登录不成功,在这种情况下也不应该

 -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {            
if ([[segue identifier] isEqualToString:@"gotoMainPage"] ) {
MainPageController *mpc = [segue destinationViewController];     
mpc.username = @"TEST";    }
如果登录成功,如何使Segue仅转到destinationController

我知道还有其他方法可以转到另一个ViewController,例如在按钮上设置iAction,当登录成功时,使用InstanceViewController的Identifier和presentViewController,我也尝试过这些方法,但这里的问题是,它不会将数据传递给另一个类


谢谢你的帮助。谢谢

一旦调用了
prepareForSegue:sender:
,您就无法阻止
segue
的发生


您应该检查条件并有条件地调用performsguewithidentifier方法。

您从控制器(不是按钮)连接segue,然后在满足条件后,在代码中调用performsguewithidentifier。

好的,所以我不能真正使用segue方法登录。