我正在尝试使用swift的shouldPerformSegueWithIdentifier()方法,但是它接受2个参数。这些是(标识符:String !,发件人:AnyObject)
我的主要目标是在按故事板中的登录按钮时执行代码,并根据一系列检查返回TRUE或FALSE,这取决于是否提供了正确的用户名和密码。所以这是我的问题:
我应该使用什么作为标识符?Apple的文档解释说,标识符是一个字符串,用于标识触发的序列。因此,假设我的segue的名称为loginSegueProcess。如何在分配给UIView的ViewController中使用它?关键是我在代码中声明了方法,并且要求我同时指定两个参数(标识符和发送者)。我如何提供论点?
这种方法真的可以满足我的需求吗?我的意思是,如果它确实会在单击“登录”按钮时确实停止segue转换,并且取决于是否提供了正确的凭据,它将带您进入下一个视图,或者它将显示,例如AlertView。
最后,我以为performSegueWithIdentifier(args)方法也会对我有帮助。有人知道他们之间的区别吗?
在此先多谢!
您可能无法shouldPerformSegueWithIdentifier()自己调用 方法。在过渡到下一个视图之前将自动调用它,从而有机会确定是否应进行过渡。您可以有条件地从此方法返回是/否。如果您的情况不涉及任何服务器调用,那么简单的逻辑检查此方法就足够了。
shouldPerformSegueWithIdentifier()
performSegueWithIdentifier()用于以编程方式调用segue。考虑到网络呼叫的上述情况,shouldPerformSegueWithIdentifier()由于身份验证正在进行,您可能从一开始就返回NO 。从服务器获得成功后的响应后,可以调用segue执行performSegueWithIdentifier(此处的标识符是您在情节提要中提供的ID)。在确定您应该从之前返回YES之前shouldPerformSegueWithIdentifier()。
performSegueWithIdentifier()
performSegueWithIdentifier
现在是第三种情况,如果您的segue是通过登录按钮进行连接的(您必须通过控制器本身进行连接)。shouldPerformSegueWithIdentifier不再需要检查。performSegueWithIdentifier()从服务器获得成功响应后,您就可以调用segue了。
shouldPerformSegueWithIdentifier