我一直在使用Firebase,在我的JSON树的一部分中,我有一堆连续的数字作为键。
这是树的那一部分的缩写部分:
"matches" : {
"1" : {
"0931-Red" : [
"John Smith"
],
"2022-Blue" : [
"Paul Adams"
]
},
"2" : {
"1489-Red" : [
"Matthew Brown"
],
"1565-Blue" : [
"Ian Fowler"
]
},
"3" : {
"1652-Red" : [
""
],
"2626-Blue" : [
""
]
}
}
当我从Firebase下载并使用它时:
if let r = ref {
r.child(accessKey).child("matches").observeSingleEvent(of: .value, with: { (snapshot) in
if let groups = snapshot.value as? NSDictionary {
转换为NSDictionary失败。
但是,当我将"matches"
编辑为这样时:
"matches" : {
"1" : {
"0931-Red" : [
"John Smith"
],
"2022-Blue" : [
"Paul Adams"
]
},
"2" : {
"1489-Red" : [
"Matthew Brown"
],
"1565-Blue" : [
"Ian Fowler"
]
},
"4" : {
"1652-Red" : [
""
],
"2626-Blue" : [
""
]
}
}
有效。
我能够将数据转换为NSDictionary
。
这也可以将第一个"1"
更改为"01"
并将字符串附加到每个数字的开头,例如"match-1"
,"match-2"
等。
即使我的代码有效,但错误仍然困扰着我,因为我不知道为什么它首先出错了。
为什么不能将连续数字用作关键字?
提前致谢!