我正在尝试将浮动数据类型保存并检索到Firebase中。我能够保存得很好并且结构如下。
但是,当我尝试使用代码
检索值时for child in snapshot.children.allObjects as! [FDataSnapshot] {
let rating = child.value["rating"] as? Float
print(rating)
我得到以下内容:
可选(8.19999981)
可选(8.69999981)
可选(9.19999981)
防止这种情况发生的最佳方法是什么?
答案 0 :(得分:4)
Firebase不直接支持float类型。数字表示由NSNumber支持,因此通常要么将数字保存为字符串,要么在保存时将其包装到NSNumber中,并在读回时将其包装回来。
let p = 3.14159265
let n = NSNumber(float: Float(p))
print(n)
还有很多替代方案。