LuK*_*eth 1 string double ios firebase swift
所以我正在将字典保存到我的 firebase 中。该词典位于我创建的名为 FoodItem 的自定义类中。这是我保存字典的行:
let favRef = self.ref.childByAppendingPath("urlhidden")
favRef.setValue(foodItem.toAnyObject())
Run Code Online (Sandbox Code Playgroud)
foodItem 是一个 FoodItem 对象,这是我的 FoodItem 类中实现 .toAnyObject() 的部分
var key: String
var ref: Firebase?
var name: String
var description: String
var minCal: Int
var maxCal: Int
var containsNuts: Bool
var vegetarian: Bool
var price: Double //**NOTE THAT PRICE IS A DOUBLE**
func toAnyObject()->[String:AnyObject]{
return ["name":self.name,
"price":self.price,
"description":self.description,
"minCal":self.minCal,
"maxCal":self.maxCal,
"containsNuts":self.containsNuts,
"vegetarian":self.vegetarian]
}
Run Code Online (Sandbox Code Playgroud)
所以这些代码组合在一起将我的数据保存到我的 Firebase。正常工作。但是当我检索数据时,我的价格变量是一个字符串?我来解释...
这是我检索数据的地方:
func getCurrentOrder(){
let uid = ref.authData.uid
ref = Firebase(url: "urlhidden")
ref.observeEventType(.Value, withBlock: { snapshot in
var newItems = [FoodItem]()
for item in snapshot.children {
let foodItem = FoodItem(snapshot: item as! FDataSnapshot)
newItems.append(foodItem)
}
self.order = newItems
self.tableView.reloadData()
})
}
Run Code Online (Sandbox Code Playgroud)
您在快照中看到的 FoodItem 构造函数从我的 firebase 中获取数据,并将我的 FoodItem 变量分配给我的 firebase 中的这些值。这是代码:
init(snapshot: FDataSnapshot) {
key = snapshot.key
name = snapshot.value["name"] as! String
price = snapshot.value["price"] as! Double //**NOTE STILL A DOUBLE**
description = snapshot.value["description"] as! String
minCal = snapshot.value["minCal"] as! Int
maxCal = snapshot.value["maxCal"] as! Int
containsNuts = snapshot.value["containsNuts"] as! Bool
vegetarian = snapshot.value["vegetarian"] as! Bool
ref = snapshot.ref
}
Run Code Online (Sandbox Code Playgroud)
如您所见,双变量“价格”周围有明显的引号。我得到这个错误:
无法将“__NSCFString”(0xff0ee0)类型的值转换为“NSNumber”(0x13ff81c)。
这行代码以红色突出显示:
price = snapshot.value["price"] as! Double
Run Code Online (Sandbox Code Playgroud)
正如我上面发布的那样,它位于带有快照的 FoodItem 构造函数内。
有任何想法吗???
*编辑:它对我的 int 变量做同样的事情。同样的错误信息
| 归档时间: |
|
| 查看次数: |
2028 次 |
| 最近记录: |