来到appdelegate的userId仍然不去Mainviewcontroller为什么?迅速

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

NavigationControllerisinitial viewcontroller in storyboard,NavigationController嵌入到LoginViewcontroller

在项目情节提要中的导航将如下所示>>

NavigationController->LoginViewcontroller-> RegistrationViewcontroller -> MainViewcontroller

在PhNUmber中成功注册后,我得到的userId已存储在KeychainWrapper中

在RegistrationViewcontroller中:

我正在存储如下所示的userId:
 let userID: String=jsonObj?["userId"] as? String ?? "" 
 KeychainWrapper.standard.set(userID, forKey: "USERID")

我正在appdelegate中检查的对象

如下所示进入Mainviewcontroller:
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?
var savedUserId: String?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    savedUserId = KeychainWrapper.standard.string(forKey: "USERID")
    print("appdelegate userid \(savedUserId)")
    if savedUserId != nil{
        print("saveuserid \(savedUserId)")
        let mainStoryBoard = UIStoryboard(name: "Main", bundle: nil)
        window?.rootViewController = mainStoryBoard.instantiateViewController(withIdentifier: "MainViewController")
    }
    return true
}
}

这里savedUserId来了,为什么我不去MainViewcontroller,总是出现LoginViewcontroller

[NavigationController是情节提要中的初始viewcontroller,在项目情节提要中嵌入到LoginViewcontroller中的NavigationController将类似于下面的NavigationController-> ...

swift uinavigationcontroller userid rootviewcontroller
2个回答
0
投票

尝试使用此扩展程序


0
投票

您需要初始化window。在设置rootViewController的上方给出此行:

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