【发布时间】:2020-03-08 02:58:41
【问题描述】:
我有一本 [Int: Int] 类型的字典,我正试图将其保存到 firebase。我写入 firebase 的函数如下所示:
func writeToFirebase() {
setScoreToBadge()
setScoreToVehicle()
if GameManager.instance.getUsername() != "" {
self.ref?.child("user").child(
GameManager.instance.getUsername()
).setValue(
[
"email": GameManager.instance.getEmail(),
"userNameLowered": GameManager.instance.getUsername().lowercased(),
"userName": GameManager.instance.getUsername(),
"topScore": GameManager.instance.getTopScores()[0],
"topScores": GameManager.instance.getTopScores(),
"totalCash": GameManager.instance.getTotalCash(),
"friends": GameManager.instance.getFriendsAdded(),
"achievements": GameManager.instance.getAchievementsCompletedBool(),
"badge": GameManager.instance.getBadgeLevel(),
"scoreBadgeDictionary" : GameManager.instance.getTopScoreWithBadgeDictionary(),
"scoreVehicleDictionary" : GameManager.instance.getTopScoreWithVehicleDictionary()
])
} else {
print ("Not signed in, score not saved to firebase")
}
}
我遇到的问题是scoreBadgeDictionary 和, scoreVehiceDictionary。 GameManager.instance.getTopScoreWithBadgeDictionary() 是 [Int: Int] 类型的字典,GameManager.instance.getTopScoreWithVehicleDictionary() 是 [Int: String] 类型的字典。如果我尝试运行此功能,它将崩溃。
有没有办法将字典转换为我可以保存到 firebase 的格式?
【问题讨论】:
-
如果发生崩溃,请编辑您的问题以包含确切的错误消息和堆栈跟踪。
-
简短的回答是 Firebase 键必须是字符串,但 Firebase 中的数组具有数字索引除外。话虽如此,带有数字键的字典的用例是什么?
标签: swift firebase dictionary firebase-realtime-database