我使用Firebase来获取一组菜单项。对于swift和编程而言,我是一个相当新的人,因此我并不总是知道如何正确地构建数据。由于每个菜单项都有名称,价格和描述,因此我将其存储为字典,并尝试将所有项目存储在一个"菜单项"字典。
var menuItem : Dictionary = ["itemID" : String(), "itemName" : String(), "itemDescription" : String(), "itemPrice" : String()]
var menu = [[String: String]]()
func getMenuItems(){
let itemsRef = ref.childByAppendingPath("users/\(ref.authData.uid)/menu")
itemsRef.observeEventType(.Value, withBlock: { snapshot in
for id in snapshot.children.allObjects as! [FDataSnapshot] {
var newItem = self.menuItem
newItem["itemID"] = id.key as String
newItem["itemName"] = id.value["itemName"] as? String
newItem["itemDescription"] = id.value["itemDescription"] as? String
newItem["itemPrice"] = id.value["itemPrice"] as? String
self.menu.append(newItem)
}
})//End get menu info
}
当我尝试运行此代码时,我收到此错误:
(!) cannot assign value of type 'Dictionary<_, _>' to type 'Dictionary'
我宣布我的字典错了吗?我是否只是通过尝试将字典存储在数组中来增加不必要的复杂性?