快速解析firebase时为零
Posted
技术标签:
【中文标题】快速解析firebase时为零【英文标题】:nil while parsing firebase in swift 【发布时间】:2017-04-05 06:25:20 【问题描述】:我正在尝试将值从 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"])
这是我的 dict 声明:
var users: [String : String] = [:]
restDict 值返回一个 Optional("somestring"),但 elf.users["userName"] 返回 nil。我怎样才能在我的 dict 中获得真正的价值?提前致谢。
【问题讨论】:
我建议做一些调试并检查restDict
中所有值的值是什么,最好添加一个作为代码sn-p...
您确定密钥 userName 存在吗?
@Anuraj 是的,它返回给我 Optional("name")
【参考方案1】:
在下面的行中,您尝试为键restDict["userName"]!
设置值restDict["userImgLink"]!
,因此键将是restDict["userName"]!
的值,而不是"userName"
。
self.users.updateValue(restDict["userImgLink"]!, forKey: restDict["userName"]!)
但在打印时,您试图获取 "userName"
key 的值,该值将为 nil。
【讨论】:
谢谢,在这种情况下我应该写什么?如果我删除“!”,我将无法构建我的应用程序。以上是关于快速解析firebase时为零的主要内容,如果未能解决你的问题,请参考以下文章
为啥图像未存储在 Firebase 存储中且 URL 为零?
成功上传文件后,来自 Firebase 存储的 downloadURL 为零
尽管从 Firebase 添加了项目,但 ArrayList 的大小仍然为零
如何快速解码来自 Firebase Firestore 的时间戳