gpt4 book ai didi

swift - 如何从 documentSnapshot 获取值

转载 作者:行者123 更新时间:2023-11-30 10:49:02 24 4
gpt4 key购买 nike

我使用 Firestore 并有一个带有字段的集合。该字段有多个字符串值:

字段:名称

  • 0:“姓名 1”
  • 1:“姓名 2”
  • 2:“姓名 3”

let documentData = documentSnapshot.data()

我得到一本包含 1 个键(名称)和 3 个值的字典。

获取包含值的字符串数组的最佳方法是什么? (也许与 Codable 一起)

我尝试过

if let data = try? JSONSerialization.data(withJSONObject: documentData as Any, options: []) {
let users = try? JSONDecoder().decode(??.self, from: data)
}

提前致谢

最佳答案

我现在就这样解决了。也许存在更好的东西。

    let db = Firestore.firestore()
let userReference = db.collection("users").document(user.uid)

userReference.getDocument { (documentSnapshot, error) in
if let error = error {

} else if let documentSnapshot = documentSnapshot, documentSnapshot.exists {
if let documentData = documentSnapshot.data() {

let data = documentData.compactMap({ (arg) -> [String]? in
let (_, value) = arg
var array = [String]()

if let values = value as? [String] {
for item in values {
array.append(item)
}
}

return array
})

let users = data.flatMap({ (value) -> [String] in
return value
})

print(users)
}

} else {

}
}

关于swift - 如何从 documentSnapshot 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55062408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com