我不明白我做错了什么,我正在尝试通过标识符执行推送转场,以便在 IF 条件为真时我可以移动到其他 View Controller
segue 总是执行或者我添加这个方法:override func prepareForSegue()
@IBAction func btnClicked(sender: AnyObject) {
if(n.isEqualToString("mpc01") && p.isEqualToString("mpc01"))
{
self.performSegueWithIdentifier("login_to_dashboard", sender: nil)
}
else{
println("no data retrieved")
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "login_to_dashboard" {
// let secondViewController = segue.destinationViewController as VC_dashboard
println("performed segue")
}
else{
println("recieved other command")
}
}
我的 ViewController Storyboard ID:SID_login
我的 SecondViewController Storyboard ID:SID_dashboard
我的 Push Segue ID:login_to_dashboard
我只想通过它的 ID 执行 segue,而不是直接执行
最佳答案
当您使用 - (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender
时,您没有控制权。相反,您可以通过以下方式控制是否触发 segue:- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
prepareForSegue
只是让您在触发之前做一些自定义工作。
关于ios - perfrmSegueWithIdentifier() 在 swift iOS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27997472/