Ich versuche, für einen bestimmten Benutzer abzufragen, um die neue Firebase wie so mit:kann nicht Wert vom Typ ‚__NSDictionaryM‘, um benutzerdefinierten Benutzerklassen werfen neue Firebase mit
DataService.sharedInstance.REF_USERS.queryOrderedByChild("username").queryEqualToValue(field.text).observeSingleEventOfType(.Value, withBlock: { (snapshot) in
if let userDoesNotExist = snapshot.value as? NSNull {
print("No User found!")
} else {
let theUsr = snapshot.value as! User
print(theUsr)
}
}, withCancelBlock: { (error) in
// Error
})
Von dort Ich war auf der Suche zu speichern der Snapshot in ein eigenes Objekt und von dort auf seine Werte zugreifen. Ich versuche, dies zu tun, indem Sie diese:
class User {
let key: String!
let ref: FIRDatabaseReference?
var username: String!
var email: String!
// Initialize from data snapshot
init(snapshot: FIRDataSnapshot) {
key = snapshot.key
email = snapshot.value!["email"] as! String
username = snapshot.value!["username"] as! String
ref = snapshot.ref
}
func toAnyObject() -> AnyObject {
return [
"email": email,
"username": username,
]
}
}
Das Problem, das ich in laufende bin ist ein Absturz mit dem folgenden:
Could not cast value of type '__NSDictionaryM' (0x10239efc0) to 'Scenes.User' (0x100807bf0).
Wie kann ich dieses Problem beheben? Ich kann mich nicht daran erinnern, dass ich auf dem alten Firebase auf dieses Problem gestoßen bin. Ich brauche Zugriff auf den Schlüssel von snapshot.value und kann aus irgendeinem Grund nicht darauf zugreifen, indem ich snapshot.value.key benutze, ohne einen Absturz zu bekommen, also würde ich versuchen, alle Daten in ein eigenes Objekt zu übertragen.
Sie müssen jeweils Kinder wie diese snapshot.childSnapshotForPath einzeln zugreifen ("title"). Wert! Zeichenfolge – Ymmanuel