如何使Segue Pass数据只在符合某些条件时才执行
我有一个button的login页面。 当我点击它,IF和ONLY如果login成功,我想传递数据到另一个类(使用属性)。
我曾尝试在button上使用Segue来传递数据,但问题是这个Segue总是进入下一个View,即使login失败,在这种情况下,它也不应该。
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"gotoMainPage"] ) { MainPageController *mpc = [segue destinationViewController]; mpc.username = @"TEST"; }
如果login成功,我怎么才能让Segue只进入destinationController?
我知道还有其他方法去另一个ViewController,如设置一个IBAction的button,当login成功,使用instantiateViewControllerWithIdentifier和presentViewController,我也试过这些,但这里的问题是,它不会将数据传递给另一个类。
帮助表示赞赏。 谢谢
从控制器(不是button)连接segue,然后在满足条件之后,在代码中调用performSegueWithIdentifier。
一旦prepareForSegue:sender:
已经被调用,你不能停止继续发生。
您应该检查条件并有条件地调用performSegueWithIdentifier
方法。