【发布时间】:2019-11-29 08:12:48
【问题描述】:
首先,其他问题和我的不一样。 在从 Firebase Firestore 检索数据后,我试图从 Swift Xcode 中的数据中获取单个值。相反,它给出了一个错误:
不能用“String”类型的索引为“String”类型的值下标
ref.getDocument { (document, err) in
if let document = document, document.exists {
let dataDescription = document.data().map(String.init(describing: )) ?? "nil"
print ("Cached document data: \(dataDescription)")
profilename?.text = dataDescription["name"] as! String
} else {
print ("Document doesn't exist")
}
}
错误发生在
profilename?.text = dataDescription["name"] as! String
线。
dataDescription 的打印是:
缓存的文档数据:["email": test2@gmail.com, "name": Test2, "phone": 408-222-2222]
谁能帮我解决这个问题?
【问题讨论】:
-
错误清楚地表明
dataDescription是一个字符串,它可以被视为数组(索引下标)但永远不会被视为字典(键下标)。 -
@vadian,那我该怎么办?我没有太多编程经验。
-
您在代码中打印了 dataDescription,您能否将结果包含在内?
-
首先,这可能不是您想要使用 .map 的方式。其次,不清楚你实际上想要做什么。最后,我们不知道 document 中有什么。您能否解释一下您要完成的工作,并说明您的 Firestore 文档结构是什么样的?
-
@JoakimDanielson,我从 Firebase Firestore 文档中获得了这一切并编辑了我的帖子。
标签: swift firebase google-cloud-firestore