大家。我在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
和数据库结构的一个例子
我需要从菜单节点
中的所有孩子那里获取所有“foodImageUrl”答案 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)
}
}