I want to do a \"connexion\" button in my app. And when you tap on it, it will open a new page if you have correct login.
But, I read that we can\'t undo a segue, I
You can do the credentials check in the following method in your ViewController
:
func shouldPerformSegueWithIdentifier(_ identifier: String!,
sender: AnyObject!) -> Bool
In alternative, you can bind the UIButton
to an action in your view controller, perform the checks here and then trigger a segue by code.
In Swift you can proceed by:
Step 1: Insert a segue from ViewControllerA to ViewControllerB. The segue should start from ViewControllerA itself and not from any control (like Button).
Step 2: Give segue an unique identifier in storyboard. Ex: seageFromAtoB
Step 3 : In your ViewControllerforA.swift write :
if(condition == true) {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
If you are performing some task in some other Thread then using performSegueWithIdentifier can throw an exception.
If you get this error then you should use :
if(condition==true){
NSOperationQueue.mainQueue().addOperationWithBlock {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
}
This will perform segue from ViewControllerA to ViewControllerB with a specific condition.