gpt4 book ai didi

ios - Swift - Firebase 如何在没有父项的情况下仅获取子项值

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

在数据库中,我有一个子城市,其名称为“城市”,每个城市都有多个包含坐标的区域

我遍历了“cities”下的每个子项以找到最近的位置,并使用 ref.child("cities").observe() 获取城市名称:

for child in snapshot.children {

let childSnap = child as! DataSnapshot

if let dicionary = childSnap.value as? [String: AnyObject]{

var latitude1 = dicionary["latitude"] as! Double
var longitude1 = dicionary["longitude"] as! Double
var altitude1 = dicionary["altitude"] as! Double

假设最近的城市是“城市 2”,并将其放置在名为 selectedCity 的变量中。因此,我重复并将其添加到 ref.child("cities").child(selectedCity):

ref.child("cities").child("\(city2)").observe(.childAdded, with: { (snapshot) in

if let dicionary = snapshot.value as? [String : AnyObject] {

print(dicionary)

var altitude = dicionary["altitude"] as! Double
var latitude = dicionary["latitude"] as! Double
var longitude = dicionary["longitude"] as! Double
var theCity = dicionary["cityName"] as! String

if theCity == city2 {
locationArray.add(location.init(area: area, city: theCity, latitude: latitude, longitude: longitude, altitude: altitude))
}

}

})

这是我遇到的问题,我将“城市1”和“城市2”中的“城市”下的所有 child 都放在“城市1”和“城市2”中,但跳过其余城市,然后将 child 放在“城市2”下,即重复数据

如何让它跳过父“城市”并转到子“城市2”并获取一次数据

最佳答案

我用与我尝试做的不同的方式解决了这个问题。

我将所有数据放入自定义数组中 - NSMutableArray()然后遍历该数组并添加一个 if 语句 (city == city2) 如果为 true,则该行将放置在一个新数组中

关于ios - Swift - Firebase 如何在没有父项的情况下仅获取子项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51134136/

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