iOS:让等待login成功

我正在使用XCode 4.2的故事板functiondevise一个iOS应用程序。 该应用程序有一个login屏幕,需要一个用户名和密码,并有一个button来login。按下loginbutton触发推seque到另一个视图控制器。 但是,我希望seque在进入下一个视图控制器之前等待login返回成功。

我知道关于prepareForSegue:sender:但inheritance人我的问题:login电话是asynchronous的。 因此,我不能在那里执行login。

这有什么事吗? 我是否可以在故​​事板中创build一个只在需要时触发的seque(而不是单击button时)?

好的,我明白了。 我已经定义了一个从UIButton到下一个UIViewController的segue。 按照这种方式定义,没有办法有条件地执行segue。

而不是button上的segue,我从第一个UIViewController到另一个UIViewController的segue。 这定义了赛格,但没有把它与行动联系起来。 从那里我可以简单地调用performSegueWithIdentifier:sender:当我想要segue执行(在我的情况是当asynchronous任务完成)。

这对我来说的主要优势是IB保持其结构。

非常感谢@cli_hlt指向正确的方向(+1)。

我不知道IB是否有办法执行这样的操作(尽pipe我非常怀疑它),所以我build议使用

 - (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

在视图控制器上,当你的asynchronouslogin信号成功。

你也可以在UIStoryBoard的一个实例上调用instantiateViewControllerWithIdentifier。 这将返回一个视图控制器引用到故事板中的任何点。 从那里,你可以呈现它,无论你喜欢,它会拿起你的故事板的stream程。