火力地堡字典数据我有一个火力地堡数据库的结构是这样的:检索斯威夫特
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