введите здесь описание изображениявведите здесь описание изображенияя хочу проверить значение снимка в "MembershipStatus". если MembershipStatus = active, то в один ActiveVC, если нет, то в NonActiveVC. если бы я мог заставить работать моментальный снимок, тогда я чувствую, что мог бы заставить работать все остальное. просто боролся.
вот мой код:
// sign in user
let email = emailTextField.text!.trimmingCharacters(in:.whitespacesAndNewlines)
let password = passWordTextField.text!.trimmingCharacters(in:.whitespacesAndNewlines)
let rootref = Database.database().reference().root
let userRef = rootref.child("users").childByAutoId().child("MembershipStatus")
let db = Firestore.firestore()
// __________этот код работает // войдите в систему пользователя
Auth.auth().signIn(withEmail: email, password: password) { (result, error) in
if error != nil
{
//could not sign in
self.errorLabel.text = error!.localizedDescription
self.errorLabel.alpha = 1
}
else {
userRef.observeSingleEvent(of: .value, with: {
snapshot in
let value = snapshot.value as? [String?]
print (value!)}
)
//if user is a non active member then...go here to non active member controller
let homeViewController = self.storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? NonMemberMainVC
self.view.window?.rootViewController = homeViewController
self.view.window?.makeKeyAndVisible()
//if a user is a active member then go to active member controller
}
}
}
let homeViewController = self.storyboard?
будет выполняться до того, как этот код выполнитprint (value!)
внутри замыкания. Проведите небольшое исследование здесь на SO об асинхронных функциях - к нему много раз обращались с кучей примеров кода о том, как работать с этими типами вызовов функций. - person Jay   schedule 17.03.2020