Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 411
Saint Robson Avatar asked Sep 22 '13 18:09

Saint Robson


1 Answers

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:

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

I hope I made it clear.

like image 66
Gaurav Singh Avatar answered Sep 29 '22 10:09

Gaurav Singh