我在使用我的firebase db而且我不知道我做错了什么。
self.ref.child("User").observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as! [String: AnyObject]
for each in value {
let username = each.value["username"] as! String
self.ref.child("Highscores").child(username).observeSingleEvent(of: .value, with: { (snapshot) in
let wert = snapshot.value as! [String: AnyObject]
for each in wert {
let fbscore = each.value["score"] as! String
在这种情况下,fbscore为零。
每个的输出(打印)是("得分",21),所以每个键都是"得分" and each.value是" 21"。
我的错误在哪里?我什么也没看到。
答案 0 :(得分:1)
您需要向下转发AnyObject
以更正类型Int
而不是String
。
each.value as! Int
以及防止nil例外。使用guard
或可选的绑定。
if let fbscore = each.value as? Int {
print(fbscore)
}else{
print("casting failed")
}