火力地堡字典數據我有一個火力地堡數據庫的結構是這樣的:檢索斯威夫特
results: {
A: [
{data}
],
B: [
{data}
],
C: [
{data}
],
....
}
它是按字母順序排序值的字典。
我的問題是,什麼是在swift中檢索這些數據的最佳方法?
火力地堡字典數據我有一個火力地堡數據庫的結構是這樣的:檢索斯威夫特
results: {
A: [
{data}
],
B: [
{data}
],
C: [
{data}
],
....
}
它是按字母順序排序值的字典。
我的問題是,什麼是在swift中檢索這些數據的最佳方法?
一般來說,最檢索Firebase數據的常見做法是將快照的值轉換爲Swift Dictionary
這樣的:
let myRef = FIRDatabase.database().reference().child("results")
myRef.observeSingleEvent(of: .value, with: { (snapshot) in
if !snapshot.exists() {
// handle data not found
return
}
// data found
let myData = snapshot.value as! [String: Any] // the key is almost always a String
// extracting data from the dictionary
let A = myData["A"] as! [String: Any]
let dataInA = A["anyChildOfA"] as! Double
// ...
})
,如果該數據進行排序或不上火力地堡其實並不重要,檢索將是相同的複雜的
更新
你可以簡單地遍歷所有的字母來提取數據:
var extractedData = [[String: Any]]() // array of Swift Dictionary
for c in "ABCDEFGHIJKLMNOPQRSTUVWXYZ".characters {
let temp = myData[String(c)] as! [String: Any]
extractedData.append(temp);
}
extractedData[0]
將是數據,extractedData[25]
將是Z
中的數據。當然,這是假設你每個字母都有一個孩子。
對於字母表中的每個字母,我必須硬編碼'let A = myData ['A']「 – Adam
更新了答案!:-) – ThunderStruct
創建一個結構呈現 「數據」:
struct Data {
...
}
創建包裝:
struct DataWrapper {
let data: [Data]
}
然後,創建一個新的模式:
struct ModelName {
results: [DataWrapper]
}
您是否查看了Firebase指南[使用列表](https://firebase.google.com/docs/database/ios/lists-of-data),其中還包括排序? – Jay