gpt4 book ai didi

swift - Firestore 在索引 0 处获取数组数据

转载 作者:行者123 更新时间:2023-11-28 13:48:26 24 4
gpt4 key购买 nike

下面我在 firestore 中有一些数据。 enter image description here

我在 _geoloc 字段中有一个数组。这些索引中的每一个都有纬度和经度坐标。因此,使用 SWIFT,我希望能够仅获取索引 0 处的纬度和经度坐标,并将它们分别传递给一个字符串。我已经研究了好几天了,但我被困住了。我试图创建一个新的字符串数组或 AnyObject 数组,但我只是在索引 0 处检索我需要的数据,并且只将这 2 个纬度/经度坐标传递给字符串值。我有几个失败的代码片段可以发布。

这是我试图做的事情的一个片段:(我是 firebase 的新手,所以代码有点难看,因为我只是想弄清楚)

        Firestore.firestore().collection("users").document("626").getDocument { (document, error) in
if let document = document {
// let geo_array = document["_geoloc"]

var yourArray = [String]()
// let geo_location = [geo_array] as [AnyObject]
let array: [Any] = document["_geoloc"] as! [Any]
let tmpArray = array.map({ return String(describing: $0)})
let string = tmpArray.joined(separator: ",")
yourArray.append(string)

print(yourArray[0])

最佳答案

您只需将对象从 Any 转换为字典数组并获取第一个属性:

Firestore.firestore().collection("users").document("626").getDocument { document, error in
if let document = document {
var yourArray: [String] = []
if let location = (document["_geoloc"] as? [[String:Double]])?.first,
let latitude = location["lat"],
let longitude = location["lon"] {
let coordinate2d = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
yourArray.append("Latitude: \(location.latitude), Longitude: \(location.Longitude)")
}
}
}

关于swift - Firestore 在索引 0 处获取数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55070920/

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