从Firebase儿童中获取图像

时间:2017-04-07 20:24:37

标签: firebase swift3 xcode8

大家。我在Firebase数据库中从孩子那里获取大量图像时遇到了麻烦。我正在做一个iOS项目并使用swift 3和XCode。基本上,毕竟,我的“图像”变量返回“nil”请尽可能帮助我。这是我正在使用的代码:

let ref = FIRDatabase.database().reference().child("menu")
        ref.observeSingleEvent(of: .value, with: { (snapshot) in
            if let dictionary = snapshot.value as? [String: AnyObject] {
                let image = dictionary["foodImageUrl"] as? String
                print(image as Any) // this returns nil

和数据库结构的一个例子

enter image description here

我需要从菜单节点

中的所有孩子那里获取所有“foodImageUrl”

1 个答案:

答案 0 :(得分:0)

你的snapshot.value是菜单中的子项列表,而不是每个节点的详细信息,所以你必须使用forEach,然后在每个节点内使用dictionary["foodImageUrl"] as? String来获取你的图像

试试这个

let ref = FIRDatabase.database().reference().child("menu")
    ref.observeSingleEvent(of: .value, with: { (snapshot) in
        for rest in snapshot.children.allObjects as! [FIRDataSnapshot] {
            if let dictionary = rest.value as? [String: AnyObject]{
                let image = dictionary["foodImageUrl"] as? String
                print(image as Any)
            } 
        }