Я знаю это ...
Мое приложение вылетает, потому что оно находит нулевое значение в Firebase. Хотя в XCode есть изображение по умолчанию, у нового пользователя еще нет данных в базе данных Firebase, поэтому развертывание значения nil приведет к неизбежному падению. Как я могу отобразить изображение профиля по умолчанию, пока новый пользователь не выберет одно из своих?
func setupProfile () {
profile_image.layer.cornerRadius = profile_image.frame.size.width/2
profile_image.clipsToBounds = true
if let uid = Auth.auth().currentUser?.uid{
databaseRef.child("users").child(uid).observeSingleEvent(of: .value, with: { (snapshot) in
if let dict = snapshot.value as? [String: AnyObject]
{
self.usernameLabel.text = dict["username"] as? String
if let profileImageURL = dict["pic"] as? String
{
let url = URL(string: profileImageURL)
URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
if error != nil{
print(error!)
return
}
DispatchQueue.main.async {
self.profile_image?.image = UIImage(data: data!)
}
}).resume()
}
}
})
}
}