如何根据bool变量确定要打开的第一个屏幕

问题描述 投票:0回答:1

我正在使用 Swift UIKit 开发一个项目,我有一个名为

islogin
的变量,如果根据此
islogin
实现,我想将用户重定向到主页。
islogin
实现了,但它仍然让我进入注册屏幕。你认为我的错误在哪里?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    let isLogin = UserDefaults.standard.bool(forKey: "isLogin")
    print("uygulama açılırken " , isLogin)

    if isLogin {
        print(isLogin)
        let username = UserDefaults.standard.string(forKey: "username")
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let homeMenuViewContr = storyboard.instantiateViewController(withIdentifier: "HomeMenuViewController") as! HomeMenuViewController
        homeMenuViewContr.userName = username
        window?.rootViewController = homeMenuViewContr
        print("calisti")
    } else {
        print("else kısmı " ,isLogin)
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let loginViewContr = storyboard.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
        let navigationController = UINavigationController(rootViewController: loginViewContr)
        window?.rootViewController = navigationController
    }
    
    window?.makeKeyAndVisible()

    return true
}

enter image description here

如何在 AppDelegate 中使用应用程序的功能,而不是在主页上使用

swift uikit uinavigationcontroller
1个回答
0
投票

1.-> 首先删除SceneDelegate文件。 2.-> 转到 info.plist,然后在“应用程序场景”下 清单”中有“场景配置”删除它 排。 3.->现在转到Appdelegate文件,下面有rwo UISceneSession 生命周期委托函数删除 那些。 4.-> 再次运行该项目,它将按您想要的方式工作。

© www.soinside.com 2019 - 2024. All rights reserved.