繁体   English   中英

如何读取Firebase快照并将特定的键值对存储在通用数组中?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM