Search code examples
swiftxcodeios13swift5

Why cannot use if statement in AppDelegate?


enter image description here

why I cannot pass the constant in if statement?

 if UIDevice.current.orientation.isLandscape{
        let storyboard = UIStoryboard(name: "landscape", bundle: nil)
        let initialViewController = storyboard.instantiateViewController(withIdentifier: "landscape")
    }else{
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let initialViewController = storyboard.instantiateViewController(withIdentifier: "ViewController")
    }
    

    self.window?.rootViewController = initialViewController

Solution

  • You need to insert the error line inside the if else block as of scope

    if { 
      let initialViewController = //// 
      self.window?.rootViewController = initialViewController
    }
    else { 
      let initialViewController = //// 
      self.window?.rootViewController = initialViewController
    }
    

    OR

    var initialViewController:UIViewController!
    if { 
      initialViewController = ////
    }
    else { 
      initialViewController = ////
    }
    // use it here