Ios 尝试登录或注册应用程序时出现Swift窗口层次结构错误?

Ios 尝试登录或注册应用程序时出现Swift窗口层次结构错误?,ios,swift,xcode,window,Ios,Swift,Xcode,Window,我对窗口层次结构有疑问。当我尝试登录或注册并打开应用程序主页时,我无法显示其他页面。控制台错误提示: 警告:尝试显示其视图不在窗口层次结构中的对象 但当我用同一个用户重新打开我的应用程序时,一切都正常工作。下面是创建用户进程之后的代码: func createUser(withEmail email: String, password: String, username: String) { Auth.auth().createUser(withEmail: email, pa

我对窗口层次结构有疑问。当我尝试登录或注册并打开应用程序主页时,我无法显示其他页面。控制台错误提示:

警告:尝试显示其视图不在窗口层次结构中的对象

但当我用同一个用户重新打开我的应用程序时,一切都正常工作。下面是创建用户进程之后的代码:

    func createUser(withEmail email: String, password: String, username: String) {

    Auth.auth().createUser(withEmail: email, password: password) { (result, error) in

        if let error = error {
            print("Failed to sign user up with error: ", error.localizedDescription)
            return
        }

        guard let uid = result?.user.uid else { return }

        let values = ["E-mail": email, "Kullanıcı Adı": username]

        Database.database().reference().child("users").child(uid).updateChildValues(values, withCompletionBlock: { (error, ref) in
            if let error = error {
                print("Failed to update database values with error: ", error.localizedDescription)
                return
            }

            let layout = UICollectionViewFlowLayout()
            let homeController = HomeController(collectionViewLayout: layout)
            let navController = UINavigationController(rootViewController: homeController)
            self.present(navController, animated: false, completion: nil)
        })

    }

}
这里是调用top函数的函数:

    @objc func handleSignUp() {
    guard let email = emailTextField.text else { return }
    guard let password = passwordTextField.text else { return }
    guard let username = usernameTextField.text else { return }

    createUser(withEmail: email, password: password, username: username)
}

可能您的rootViewController正在呈现另一个ViewController。 您可以尝试:

if let presentedVC = self.presentedViewController {
    presentedVC.present(navController, animated: false, completion: nil)
} else {
    self.present(navController, animated: false, completion: nil)
}

你从哪里调用此代码?@mmr118我有一个注册按钮,该按钮下有此函数调用。你在哪里添加注册按钮??