gpt4 book ai didi

ios - 将 Firebase 字典数据转换为数组 (Swift)

转载 作者:搜寻专家 更新时间:2023-11-01 05:56:44 25 4
gpt4 key购买 nike

这可能是一个简单的答案,所以提前致歉,但我被卡住了,因为我仍然对 Firebase 的工作原理一头雾水。我想根据保存在那里的 unix 日期数据查询 Firebase 数据库,然后获取相关的“唯一 ID”数据并将其放入数组中。

Firebase 中的数据如下所示:

posts
node_0
Unix Date: Int
Unique ID Event Number: Int
node_1
Unix Date: Int
Unique ID Event Number: Int
node_2
Unix Date: Int
Unique ID Event Number: Int

目前我的情况如下。查询部分似乎按预期工作。我苦苦挣扎的地方是如何将“唯一 ID 事件编号”数据放入数组中。这是似乎最接近成功的方法,它基于此 post ,但我得到一个错误, child 没有“值(value)”的成员。

// Log user in
if let user = FIRAuth.auth()?.currentUser {

// values for vars sevenDaysAgo and oneDayAgo set here

...

let uid = user.uid

//Query Database to get the places searched by the user between one and seven days ago.
let historyRef = self.ref.child("historyForFeedbackLoop/\(uid)")

historyRef.queryOrdered(byChild: "Unix Date").queryStarting(atValue: sevenDaysAgo).queryEnding(atValue: oneDayAgo).observeSingleEvent(of: .value, with: { snapshot in

if (snapshot.value is NSNull) {
print("error")
} else {
for child in snapshot.children {
if let uniqueID = child.value["Unique ID Event Number"] as? Int {
arrayOfUserSearchHistoryIDs.append(uniqueID)
}
}
}
})

} else {
print("auth error")
}

非常感谢任何想法!

最佳答案

尝试使用这个:-

   historyRef.queryOrdered(byChild: "Unix Date").queryStarting(atValue: sevenDaysAgo).queryEnding(atValue: oneDayAgo).observeSingleEvent(of: .value, with: { snapshot in

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

for each in snapDict{

let unID = each.value["Unique ID Event Number"] as! Int
arrayOfUserSearchHistoryIDs.append(unID)
}

}else{
print("SnapDict is null")
}

})

关于ios - 将 Firebase 字典数据转换为数组 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40051726/

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