У меня есть приложение в Android, и я создаю его версию iOS, но когда я пытаюсь извлечь пользовательские данные в класс модели, я получаю сообщение об ошибке, я знаю его, потому что некоторые узлы не имеют все ключи внутри него, но это нормально для Android, я не знаю, как с этим справиться в Swift 3. Вы можете увидеть мои данные по ссылке в конце этого сообщения.Извлечь данные с Firebase ios
Я получаю это делает .childadded:
Fatal error: unexpectedly found nil while unwrapping an Optional value
Это моя модель класса:
struct User {
var name: String
var age: String
var gender: String
var description: String
var hair:String
var skin:String
var tel:String
init(name: String, age: String, gender: String, hair: String, skin: String, tel: String, description: String) {
self.name = name
self.age = age
self.gender = gender
self.description = description
self.hair = hair
self.skin = skin
self.tel = tel
}
init(snapShot: FIRDataSnapshot){
self.name = (snapShot.value! as! NSDictionary)["name"] as! String
self.age = (snapShot.value! as! NSDictionary)["age"] as! String
self.gender = (snapShot.value! as! NSDictionary)["gender"] as! String
self.description = (snapShot.value! as! NSDictionary)["description"] as! String
self.hair = (snapShot.value! as! NSDictionary)["hair"] as! String
self.skin = (snapShot.value! as! NSDictionary)["skin"] as! String
self.tel = (snapShot.value! as! NSDictionary)["tel"] as! String
}
func toAnyObject() -> [String: Any]{
return ["name": name, "age": age, "gender": gender, "description": description, "hair": hair, "skin": skin, "tel": tel]
}
}
Это мой выборки код:
ref.child("users").observe(.childAdded, with: { (snapshot) in
if(snapshot.value is NSNull){
}else{
let user = User(snapShot: snapshot)
print("snapshot not nil: \(snapshot.key) \(snapshot.value)")
print("user: \(user.name)")
}
Это будет иметь некоторые данные пустой, как и скин и описание, см.? У меня есть некоторый регистр с меньшим количеством клавиша, в андроиде это нормально, но на стриже наклоняет обрабатывать ноль
Первого регистра работает нормально, но вторая авария My data base
fatal error: unexpectedly found nil while unwrapping an Optional value 2016-12-21 14:13:46.765206 GPMap[6033:1579494] fatal error: unexpectedly found nil while unwrapping an Optional value
Вы включили ссылку на изображение дерева JSON в своем вопросе. Пожалуйста, замените это на фактический JSON как текст, который вы можете легко получить, щелкнув ссылку Экспорт JSON в [вашей консоли базы данных Firebase] (https://console.firebase.google.com/project/_/database/data/) , Наличие JSON в качестве текста делает его доступным для поиска, позволяет нам легко использовать его для тестирования с вашими фактическими данными и использовать его в нашем ответе, и в целом это просто хорошая вещь. –