Вопрос звучит немного запутанно, но я не знаю, как его лучше описать. Позвольте мне объяснить:
Первый ViewController
, который будет представлен, - FirstLaunchVC
, где он вводит пользователя его электронная почта, и если он зарегистрирован, он получает LoginVC
и оттуда получает MainVC
. Все работает нормально.
В MainVC
пользователь может выйти и вернуться к FirstLaunchVC
. Однако после выполнения weiterButton
, который должен привести пользователя к LoginVC
, ничего не происходит.
FirstLaunchV C:
@objc func weiterButtonTapped() {
email = emailTextfield.text!.trimmingCharacters(in: .whitespacesAndNewlines)
//prüfen, ob Email schon registriert ist
Auth.auth().fetchSignInMethods(forEmail: email) { (methods, error) in
//Email ist noch nicht registriert -> sign up
if methods == nil {
let SignUpView = self.storyboard?.instantiateViewController(withIdentifier: "SignUpVC") as! SignUpViewController
SignUpView.email = self.email
self.navigationController?.pushViewController(SignUpView, animated: false)
}
//Email ist registriert -> login
else {
print("hi")
self.view.endEditing(true)
let LoginView = self.storyboard?.instantiateViewController(withIdentifier: "LoginVC") as! LoginViewController
LoginView.email = self.email
self.navigationController?.pushViewController(LoginView, animated: true)
}
}
}
Основная проблема:
print(hi)
печатает, но pushViewController
не работает после выхода из системы.
LoginV C:
func transitionToHome () {
let homeVC =
storyboard?.instantiateViewController(withIdentifier: Constants.Storyboard.homeViewController) as? MainViewController
let navigationController = UINavigationController(rootViewController: homeVC!)
view.window?.rootViewController = navigationController
view.window?.makeKeyAndVisible()
}
MainV C:
Здесь пользователь может выйти.
@objc func signoutButtonTapped() {
UserDefaults.standard.setIsLoggedIn(value: false)
UserDefaults.standard.synchronize()
let firstLaunchVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "FirstLaunchVC")
self.navigationController?.present(firstLaunchVC, animated: true)
}
Я пытался объяснить проблему как можно лучше. Если что-то все еще неясно, просто дайте мне знать. Я рад за любую помощь:)