let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
if userSignedInGlobal == "success"{
if let mainTabController = storyboard.instantiateViewController(withIdentifier: "MainTabController") as? MainTabController{
mainTabController.present(mainTabController, animated: true, completion: nil)
}
}
由于未捕获的异常“ NSInvalidArgumentException”而终止应用程序,原因:“应用程序试图在其自身上显示模式视图控制器。呈现控制器为。'
在使用Firebase验证应用程序后,我需要导航至页面,因此我在验证身份验证后使用上述代码。我该如何解决这个参考链接或解释如何到达那里的代码就足够了。
答案 0 :(得分:3)
如果您在UIViewController中,请更改此行:
self.present(mainTabController, animated: true, completion: nil)
如果您位于Appdelegate中,则将vc设置为window
属性的根视图控制器:
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
if userSignedInGlobal == "success"{
if let mainTabController = storyboard.instantiateViewController(withIdentifier: "MainTabController") as? MainTabController{
window?.rootViewController = mainTabController
window?.makeKeyAndVisible()
}
}