我正在开发使用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数据库获取的数据?
答案 0 :(得分:1)
由于您在评论中添加了mySnap.childSnapshot(forPath: "positions").value
的回复,因此Array
的类型为Dictionary
,因此请将其转换为[[String: Any]]
。
let positions = mySnap.childSnapshot(forPath: "positions").value as? [[String: Any]]