Быстрая ошибка иерархии окон при попытке войти или зарегистрироваться в моем приложении? - PullRequest
0 голосов
/ 20 сентября 2019

У меня вопрос по иерархии окон.Когда я пытаюсь войти в систему или зарегистрироваться и открыть домашнюю страницу приложения, я не могу отобразить консольную ошибку других страниц, например:

Предупреждение.Иерархия!

Но когда я снова открываю свое приложение с тем же пользователем, все работает правильно.Вот код, который находится после создания пользовательского процесса:

    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)
        })

    }

}

здесь функция, которая вызывает верхнюю функцию:

    @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)
}

1 Ответ

0 голосов
/ 20 сентября 2019

Возможно, ваш rootViewController представляет другой ViewController.Вы можете попробовать:

if let presentedVC = self.presentedViewController {
    presentedVC.present(navController, animated: false, completion: nil)
} else {
    self.present(navController, animated: false, completion: nil)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...