从firebase数据库

时间:2016-11-19 11:17:10

标签: swift firebase firebase-realtime-database swift3

我正在开发使用Firebase数据库的iOS项目。

我有观察员观察添加到我的Firebase数据库的新数据:

rootRef.observeEventType(.childAdded, withBlock: {(snap) in
  // I try to access "positions" like this
  if let mySnap = snap {
     let positions = mySnap.childSnapshot(forPath: "positions").value as? Array
     // But the positions is nil
})

收到的snap就像这样(print(snap)}:

Optional( Snap (-KWoKFfKZOkFyoLI9at_) {
    positions =     {
        0 =         {
            x = 80;
            y = 212;
        };
        1 =         {
            x = 80;
            y = "212.5";
        };
        10 =         {
            x = 83;
            y = 229;
        }
     };
});

访问"职位"的正确方法是什么?从firebase数据库获取的数据?

1 个答案:

答案 0 :(得分:1)

由于您在评论中添加了mySnap.childSnapshot(forPath: "positions").value的回复,因此Array的类型为Dictionary,因此请将其转换为[[String: Any]]

let positions = mySnap.childSnapshot(forPath: "positions").value as? [[String: Any]]