【发布时间】:2019-03-04 20:33:06
【问题描述】:
您好,我尝试将字符串数组解析为 dao。为此,我创建了这个:
func getUsersAbos(){
let userid = Auth.auth().currentUser?.uid
let docRef = db.collection("Users").document(userid!)
docRef.getDocument { (document, error) in
if let city = document.flatMap({
$0.data().flatMap({ (data) in
return UserBlogObject(channelAbos: data)
})
}) {
print("City: \(city)")
} else {
print("Document does not exist")
}
}
}
这是我的道:
导入基础 类用户博客对象{ var channelAbos = 任意
init(channelAbos: [String]) {
self.channelAbos = channelAbos
}
init(){
}
}
我在这一行得到一个错误:
return UserBlogObject(channelAbos: data)
无法将类型“[String : Any]”的值转换为预期的参数类型“[String]”
请注意,我只想下载文档中的一个数组,而不是整个文档。
【问题讨论】:
-
首先请编辑您的问题并更正缩进和代码格式。当代码易于阅读时,它使人们更容易提供好的答案。为了回答您的问题,Firestore 给出了
[String : Any]的Dictionary,其中字符串是值的键,而 Any 是值本身。因此,在您的 init 方法中处理字典而不是[String]的数组 -
谢谢,但我只想在我的文档中获取关键 channelAbos 的数组
-
然后可以使用 ["key"] 获取数组。我会发布一个快速的答案。希望对你有帮助
标签: swift google-cloud-firestore