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”而终止应用程序,原因:“应用程序试图在其自身上显示模态视图 Controller 。正在显示 Controller 为“。
使用Firebase验证应用程序后,我需要导航至页面,以便在验证身份验证后使用上述代码。我该如何解决这个引用链接或解释如何到达那里的代码就足够了。
最佳答案
如果您在UIViewController中,则更改此行:
self.present(mainTabController, animated: true, completion: nil)
如果您位于Appdelegate中,则将vc设置为
window
属性的根 View Controller :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()
}
}
关于ios - 应用程序尝试在其自身上显示模态视图 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52105384/