我试图将值从Firebase解析到我的字典中:
for rest in snapshot.children.allObjects as! [FIRDataSnapshot] {
guard let restDict = rest.value as? [String: String] else {
continue
}
if (restDict["uid"] != FIRAuth.auth()?.currentUser?.uid && (restDict["userCity"])! == "SomeCity"){
self.users.updateValue(restDict["userImgLink"]!, forKey: restDict["userName"]!)
print(self.users["userName"])
}
}
这是我的字典声明:
var users: [String : String] = [:]
restDict值返回一个Optional(“ somestring”),但elf.users [“ userName”]返回nil。我怎样才能在我的词典中获得真正的价值?提前致谢。
最佳答案
在下面的行中,您尝试为键restDict["userImgLink"]!
设置值restDict["userName"]!
,因此键将是restDict["userName"]!
而不是"userName"
的值。
self.users.updateValue(restDict["userImgLink"]!, forKey: restDict["userName"]!)
但是在打印时,您尝试获取
"userName"
键的值,该值为nil。