【问题标题】:How to make Segue Pass Data AND ONLY execute if certain criteria is met如何制作 Segue Pass 数据并且仅在满足某些条件时执行
【发布时间】:2013-12-18 02:11:35
【问题描述】:

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

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

 -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {            
if ([[segue identifier] isEqualToString:@"gotoMainPage"] ) {
MainPageController *mpc = [segue destinationViewController];     
mpc.username = @"TEST";    }

如果登录成功,我怎样才能让 Segue 只转到目标控制器?

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

感谢您的帮助。谢谢

【问题讨论】:

    标签: ios objective-c properties segue ibaction


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 好的,所以我不能真正使用 Segue 方法登录。
      猜你喜欢
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多