[英]How do I read a Firebase Snapshot and store a particular key-value pair in a universal array?
如何提取找到的每个快照结果的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)
}
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.