我希望我已经登录的用户将我的 ViewController3 作为 rootViewController,而那些未登录的用户将 ViewController2

I want my already logged in users to have my ViewController3 as rootViewController and those who aren't logged in to have ViewController2

有人知道我应该将哪些代码添加到我的项目中吗?我还有一个问题是我使用预建的登录 VC,所以我不确定我是否可以使用与那些自己建的相同的代码

登录用户 -> ViewController3 未登录用户 -> ViewController2

在 [24:38]https://www.youtube.com/watch?v=G5UkS4Mrepo

观看此视频

您需要在默认用户中存储一个值(核心数据/设备内部 Phone)。 无论是否基于此值提要,您都可以正确地重定向用户:

将此添加到您的 AppDelegate.swift :

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    window = UIWindow(frame: UIScreen.main.bounds)
    window = UIWindow(frame: UIScreen.main.bounds) 
    let sb = UIStoryboard(name: "ViewController3", bundle: nil)
    var initialViewController = sb.instantiateViewController(withIdentifier: "Onboarding")
    let userDefaults = UserDefaults.standard
    if userDefaults.bool(forKey: "LoginComplete") {
        initialViewController = sb.instantiateViewController(withIdentifier: "ViewController3")
    }
    window?.rootViewController = initialViewController
    window?.makeKeyAndVisible()

将此代码添加到您的登录 Viewcontroller3

    override func viewDidLoad() {
    let userDefaults = UserDefaults.standard
    userDefaults.set(true, forKey: "LoginComplete")
    userDefaults.synchronize()

从主故事板中删除箭头(初始 ViewController)(如果有的话) 这假设你 ViewController2 是初始 VC