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

标签 ios swift firebase firebase-realtime-database swift3

如何提取找到的每个快照结果的 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/

相关文章:

javascript - 使用 PanResponder 的 React-Native 捏合缩放

iOS 自动布局 : Handling different screen heights

swift - 这个 MVP Metal main.swift 显示为空白

具有嵌套 Observable/FirebaseObjectObservable 的 Angular2 ngFor 在更新时闪烁一些数据

firebase - 如何在 firebase_auth 中更新 Firebase 用户的电话号码?

Firebase 调用 Google Cloud 函数问题 - 两个函数同名

iphone - 刷新 View controller.m

ios - 如何缩放不同大小的 iOS 应用程序图标

IOS- swift : OrPredicate in CloudKit results in invalid

ios - 如何从 swift 3 facebook 图形请求中解析这个 JSON