這可能是一個簡單的答案,所以提前致歉,但我被卡住了,因爲我仍然在圍繞Firebase的工作方式進行頭部纏繞。我想根據保存在那裏的unix日期數據查詢Firebase數據庫,然後獲取相關的「唯一ID」數據並將其放入數組中。將Firebase字典數據轉換爲數組(Swift)
在火力地堡的數據是這樣的:
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,似乎最接近成功的方法,但我得到一個錯誤,該孩子沒有「價值」的成員。
// 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")
}
任何想法,非常感謝!
賓果,邦戈,邦戈。這是快照。值不是孩子,杜。謝謝! – Ben
其實,我說得太快了。這不起作用,因爲我得到了「let unID =」行的「模糊使用下標」的錯誤。我嘗試應用這篇文章的想法,但並未成功。有任何想法嗎? http://stackoverflow.com/questions/36238507/ambiguous-use-of-subscript-error-after-new-swift-update – Ben
你是用swift 2還是swift 3編碼?對於swift 2,請使用each.1 [唯一ID事件號],也可以建議不要在數據庫名稱中使用間距,導致錯誤。將其更改爲** Unique_ID_Event_Number ** – Dravidian