Ios 在swift中解析firebase时为nil
我正在尝试将值从firebase解析到我的字典:Ios 在swift中解析firebase时为nil,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我正在尝试将值从firebase解析到我的字典: for rest in snapshot.children.allObjects as! [FIRDataSnapshot] { guard let restDict = rest.value as? [String: String] else { continue } if (restDict["uid"]
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值返回一个可选(“somestring”),但elf.users[“userName”]返回nil。我怎样才能在我的字典中得到真正的价值呢?提前感谢。在下一行中,您正在尝试设置restDict[“userImgLink”]的值代码>用于键
restDict[“用户名”]
,因此该键将是restDict[“userName”]的值代码>而不是“用户名”
但是,在打印时,您试图获取“userName”
键的值,该值将为零。我建议进行一些调试,并检查restDict
中所有值的值,最好添加一个作为代码段…您确定键userName存在吗?@Anuraj是的,它返回可选(“名称”)谢谢,在这种情况下我应该写什么?如果删除“!”,则无法生成应用程序。
self.users.updateValue(restDict["userImgLink"]!, forKey: restDict["userName"]!)