Segue en swift basé sur une logique

Je veux montrer une des deux vues dans swift basé sur une instruction if quand l'application lance d'abord comment puis-je faire que c'est la logique

if signupconfirmed == true { // have to show one view } else { // have to show another view } 

Une façon est que vous pouvez initier viewController avec l'identificateur avec le code ci-dessous:

 var signupconfirmed = true @IBAction func signUpPressed(sender: AnyObject) { if signupconfirmed { // have to show one view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("First") as! SViewController self.presentViewController(vc, animated: true, completion: nil) } else { // have to show another view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("Second") as! TViewController self.presentViewController(vc, animated: true, completion: nil) } } 

Mettre à jour:

Vous pouvez effectuer cette action dans votre AppDelegate.swift

Voici votre code:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { let signupconfirmed = NSUserDefaults.standardUserDefaults().boolForKey("SignUp") self.window = UIWindow(frame: UIScreen.mainScreen().bounds) var initialViewController = UIViewController() var storyboard = UIStoryboard(name: "Main", bundle: nil) if signupconfirmed { initialViewController = storyboard.instantiateViewControllerWithIdentifier("First") as! UIViewController } else{ initialViewController = storyboard.instantiateViewControllerWithIdentifier("Second") as! UIViewController } self.window?.rootViewController = initialViewController self.window?.makeKeyAndVisible() return true } 

J'espère que cela vous aidera.

dans votre applicationDelegate "didFinishLaunchingWithOptions" avant le return

  var userSignedUp = NSUserDefaults.standardUserDefaults().boolForKey("signup") if userSignedUp { // have to show another view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("anyOtherViewThanSignUp") as! TViewController self.window?.rootViewController = vc } else { // have to show SignUp view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("signupView") as! SViewController self.window?.rootViewController = vc } }