Я работаю над новым приложением и уже несколько раз использовал Firebase в качестве бэкэнда.Мой код (ниже) должен выполнять переход, когда ни один пользователь не вошел в систему, ничего не делать, когда вошел «работник», и выполнить другой переход, когда вошел «работодатель». Это работает нормально, но возникает одна проблема,Когда «работник» вошел в систему и приложение перезапустилось, они остаются в системе. С другой стороны, когда «работодатель» регистрируется в правильном переходе, но когда приложение перезапускается (я делаю эточтобы я мог видеть консоль после закрытия приложения), они выходят из системы и nil возвращается как текущий пользователь.Это указывает на ранее зарегистрированного работодателя.Любая помощь?Мой код:
override func viewDidLoad() {
super.viewDidLoad()
var ref: DatabaseReference!
ref = Database.database().reference()
let uid = Auth.auth().currentUser?.uid
let locationReference = ref.child("locations")
print("CURRENT USER:")
print(uid)
print(Auth.auth().currentUser)
if Auth.auth().currentUser == nil {
print("SEGUE RAN")
self.performSegue(withIdentifier: "notSignedIn", sender: nil)
}
else if Auth.auth().currentUser != nil {
print("UNO")
Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
print("DOS")
let isWorker1 = dictionary["Worker"] as? Bool
print("IS WORKER:")
print(isWorker1)
if isWorker1 == true {
}
else if isWorker1 == false {
print("TRES")
self.performSegue(withIdentifier: "notWorker", sender: nil)
}
}
})
}
}