我在iOS上有一个应用程序,我使用firebase进行用户登录/验证等。我希望能够登录,如果用户关闭应用程序然后重新打开它,他们就不会被迫重新启动每次登录。目前我的AppDelegate中有这段代码:
func setRootViewController(){
if Auth.auth().currentUser != nil {
self.presentTabBar()
} else {
self.presentLoginViewController()
}
}
func presentTabBar(){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier :"myTabBar")
self.present(viewController, animated: true)
}
然而,因为这是在我的AppDelegate中,我在我的行self.present(viewController ...)上收到错误,说AppDelegate没有名为self的memeber。我知道这是因为self只适用于ViewControllers。
如何在AppDelegate文件中实现此功能?
答案 0 :(得分:0)
代替#include
,您可以使用
self.present(viewController, animated: true)
答案 1 :(得分:0)
func setRootViewController() {
if Auth.auth().currentUser != nil {
UIApplication.shared.keyWindow?.rootViewController = nil
UIApplication.shared.keyWindow?.rootViewController = homeViewController
UIApplication.shared.keyWindow?.makeKeyAndVisible()
} else {
UIApplication.shared.keyWindow?.rootViewController = nil
UIApplication.shared.keyWindow?.rootViewController = loginViewController
UIApplication.shared.keyWindow?.makeKeyAndVisible()
}
}