私はFireBase
からユーザーをフェッチし、Dictionary
でそれらを変換し、この機能を持っている:スウィフトに辞書から値を取得する方法3
let leaderBoardDB = FIRDatabase.database().reference().child("scores1").queryOrderedByValue().queryLimited(toLast: 5)
leaderBoardDB.observe(.value, with: { (snapshot) in
print("scores scores", snapshot)
if let dictionary = snapshot.value as? [String: Any] {
for playa in dictionary {
let player = Player()
print("plaaaaayyyyyaaaaa", playa)
print("plaaaaayyyyyaaaaa key", playa.key)
print("plaaaaayyyyyaaaaa.value", playa.value)
player.id = playa.key
print(playa.key["name"])
}
}
}, withCancel: nil)
}
をし、私はこの結果を得る:
plaaaaayyyyyaaaaa ("inovoID", { name = Tatiana; points = 6; }) plaaaaayyyyyaaaaa key inovoID plaaaaayyyyyaaaaa.value { name = Tatiana; points = 6; } aaaa i id Optional("inovoID")
問題を私はユーザーの名前とポイントを取得できないということです。私はそれをしようとすると:
print(playa.key["name"])
それは私にこのエラーをgaves:
Cannot subscript a value of type 'String' with an index of type 'String'
は誰もが、これで私を助けてくださいことができますか?
playa.objectForKey( "name")それは –
で動作するはずです。それは言う:**タプルタイプの値 '(キー:文字列、値:任意)'メンバー 'objectForKey'を持っていない** –