从firebase读取一次数组并将其放入数组中

时间:2017-12-03 21:03:49

标签: arrays swift firebase-realtime-database

如何读取firebase数组并将其放入swift数组?我试图解决这个问题4个小时。我做错了什么?

enter image description here

ref.child("names").child("myNames").observe(.value) { (snapshot) in
        if let item = snapshot.value as? String {
            namesArray.append(item)
        }
    }

2 个答案:

答案 0 :(得分:2)

您应该将快照解析为[String : Any]?并获取字典中的值。

ref.child("names").child("myNames").observe(.value) { (snapshot) in
    if let itemDictionary = snapshot.value as? [String : Any] {
        for (key, value) in itemDictionary {

            // Another check for String
            if let valueString = value as? String {
                namesArray.append(valueString)
            } 
        }
    }
}

答案 1 :(得分:0)

您正尝试将String数组展开为单个String,这就是它失败的原因。更改为以下内容:

ref.child("names").child("myNames").observe(.value) { (snapshot) in
    if let item = snapshot.value as? [String] {
        namesArray = item
    }
}