Я недавно разрабатывал приложение для IOS с Firebase.Это должно быть приложение для обмена сообщениями.Мне удалось заставить процесс аутентификации работать, используя логин facebook и логин.Я также смог сохранить информацию о странице профиля пользователя в базе данных Firebase при входе в Facebook и получить эти данные из Firebase и представить их обратно в приложение.Тем не менее, когда я пытался получить те же данные с помощью электронной почты, приложение вылетало.Показывает поток 1: сигнал SIGABRT ошибка.Сообщение консоли было
Завершение приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '- [NSNull objectForKey:]: нераспознанный селектор, отправленный экземпляру 0x110c70cf0
Вотследующий код:
переопределить func viewDidLoad () {super.viewDidLoad ()
let userSignedIn = Auth.auth().currentUser
// to retrieve user info from firebase and show it on app profile page
var refHandle = self.ref.child("users").observe(DataEventType.value, with: { (snapshot) in
let usersDict = snapshot.value as? NSDictionary
print(usersDict)
let userDetails = usersDict?.object(forKey: self.user!.uid)
print(userDetails)
if self.ageTextfield.placeholder?.lowercased() == "age" {
self.ageTextfield.text = (userDetails as AnyObject).object(forKey: "age") as! String
}
if self.sexTextfield.placeholder?.lowercased() == "sex" {
self.sexTextfield.text = (userDetails as AnyObject).object(forKey: "sex") as! String
}
if self.nameTextfield.placeholder?.lowercased() == "name" {
self.nameTextfield.text = (userDetails as AnyObject).object(forKey: "name") as! String
}
if self.occupationTextfield.placeholder?.lowercased() == "occupation" {
self.occupationTextfield.text = (userDetails as AnyObject).object(forKey: "occupation") as! String
}
if self.hobbiesTextview.text.lowercased() == "hobbies" {
self.hobbiesTextview.text = (userDetails as AnyObject).object(forKey: "hobbies") as! String
}
})
Я использовал точку останова исключения, и была выделена следующая строка:
self.ageTextfield.text = (userDetails as AnyObject).object(forKey: "age") as! String
Пожалуйстадай мне знать, что я сделал не так.