Robert Hanson Robert Hanson - 4 months ago 36x
Objective-C Question

Conditional Segue Using Storyboard

I just need to know how to make some 'conditional' redirect / segue to some view. For example :

If user haven't login yet, then a view with login form appears. But if user logged in already, they will see their profile view.

How to make conditional segue like that using storyboard?

Thank you


For conditional segues, don't start a segue from a button as you normally do. Instead of that use the following steps:

  1. In your storyboad, start a segue directly from the source view controller to the destination view controller. For doing this, you can drag your source view controller's icon on the bar just below the view to the destination view controller on the main canvas area. Just remember you have to connect two view controllers directly and not with any control.

  2. Enter a suitable segue identifier for this segue. For example say "conditionSegue"

  3. Now, in your source view controller’s .m file perform your condition and call -performSegueWithIdentifier:sender: method on "self" like this:

        if(condition == YES){  
           [self performSegueWithIdentifier:@"conditionSegue" sender:nil];  

I hope I made it clear.