私は、アプリケーションプログラミングでルートビューコントローラを変更する必要があることを知りたいと思います。下記の私は、このナビゲーションコントローラのサブクラスで値を取得できるように、ユーザがログアウトしたときに、私は私ができることに基づいて、として、ユーザーがログイン時に真と偽isLoggedInキーの値を設定していますiosでログインセッションを維持する方法は?
class NavigationViewController: UINavigationController {
var window: UIWindow?
override func viewDidLoad() {
super.viewDidLoad()
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let newRootView = storyBoard.instantiateViewController(withIdentifier: "WelcomeViewController") as! WelcomeViewController
let userStatus = UserDefaults.standard.bool(forKey: "isLoggedIn")
if userStatus {
self.window?.rootViewController = newRootView
}
}
}
私のコードですルートビューコントローラを選択します。しかし、それは正常に動作していない私はすでにログインしているだけで、私もログインページを取得しているアプリケーションを起動しているときに同じ残っている、またdidfinishlaunchingwithoptionsメソッドの内部にルートビューコントローラを変更するように私を示唆しないでください。誰かが私にそれを解決するのに役立つかもしれない?前もって感謝します。
これは端末で確認しましたか? –
SimulatorがUserDefaultsのために正しく動作していない –
ストーリーボードから2つのセグを設定し、状況に応じてコードから1つを実行してみます。 – Roran