如何提取找到的每个快照结果的 URL 并将其附加到 Swift 中的数组?
Snap (palettes) {
"-KSoMzY6OYPyXnOPeZMb" = {
0 = "#000000";
1 = "#423831";
2 = "#2C2923";
3 = "#424131";
4 = "#35382A";
URL = test;
};
"-KSoN-LT8I--3m-BBbfw" = {
0 = "#000000";
1 = "#F6DBC5";
2 = "#E0D6BE";
3 = "#F6F6C5";
4 = "#E1ECBD";
URL = test2;
};
这是我在调用后返回的 JSON 结构示例:
databaseRef.child("palettes").queryOrdered(byChild: "0").queryEqual(toValue: text).observeSingleEvent(of: .value, with: { (snapshot) in
print (snapshot)
})
如何提取多结果快照的 URL,然后将其附加到 Swift 中的数组,以便最终结果变为 array = [test, test2]
?
谢谢。
编辑
这是我的 JSON 树:
{
"palettes" : {
"-KSoMzY6OYPyXnOPeZMb" : {
"0" : "#000000",
"1" : "#423831",
"2" : "#2C2923",
"3" : "#424131",
"4" : "#35382A",
"URL" : "test"
},
"-KSoN-LT8I--3m-BBbfw" : {
"0" : "#000000",
"1" : "#F6DBC5",
"2" : "#E0D6BE",
"3" : "#F6F6C5",
"4" : "#E1ECBD",
"URL" : "test2"
},
"-KSoN-e0huiOxyj0jadl" : {
"0" : "#F1CBC1",
"1" : "#FBE1C9",
"2" : "#E5DCC2",
"3" : "#FBFBC9",
"4" : "#000000",
"URL" : "test3"
},
"-KSqFcPjjtRkRDbzH-lc" : {
"0" : "#27643A",
"1" : "#2B6E52",
"2" : "#000000",
"3" : "#2B676E",
"4" : "#274E64",
"URL" : "test4"
}
}
}
最佳答案
试试这个:-
var arrayVar = [String]()
FIRDatabase.database().reference().child("palletes").observeSingleEvent(of: .value, with: {(snap) in
if let snapDict = snap.value as? [String:AnyObject]{
for each in snapDict as [String:AnyObject]{
let _URL = each.value["URL"] as! String
arrayVar.append(_URL)
}
}
})
关于ios - 如何读取 Firebase 快照并将特定的键值对存储在通用数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39957973/