Firebase:保存和检索Floats(Swift)

时间:2016-05-05 02:48:38

标签: swift firebase

我正在尝试将浮动数据类型保存并检索到Firebase中。我能够保存得很好并且结构如下。

Firebase Screenshot

但是,当我尝试使用代码

检索值时
for child in snapshot.children.allObjects as! [FDataSnapshot] {

            let rating = child.value["rating"] as? Float
            print(rating)

我得到以下内容:

可选(8.19999981)

可选(8.69999981)

可选(9.19999981)

防止这种情况发生的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

Firebase不直接支持float类型。数字表示由NSNumber支持,因此通常要么将数字保存为字符串,要么在保存时将其包装到NSNumber中,并在读回时将其包装回来。

let p = 3.14159265
let n = NSNumber(float: Float(p))

print(n)

还有很多替代方案。