【发布时间】:2016-03-21 23:20:12
【问题描述】:
我有一个由 Firebase 支持/同步的简单购物清单应用,以及由多个用户添加的项目。我已经为“GroceryItem”和“Users”创建了数据结构。
我的应用程序的一个功能是,您可以单击单元格,它会在项目旁边放置一个复选标记,并将“已完成”的布尔值更改为 true。
我正在尝试制作一个按钮,它将所有选中标记的项目移动到一个名为“历史”的单独列表中。
以下是我在这方面的许多失败尝试之一。我还包括 XCode 给我的错误:
'Element'(又名'AnyObject')不能转换为'FDataSnapshot';你的意思是用'as!'强制低调?
@IBAction func itemsBoughtACTION(sender: AnyObject) {
ref.queryOrderedByChild("completed").observeEventType(.Value,
withBlock: { snapshot in
for item in snapshot.children {
var lastItem = GroceryItem(item)
}
})
}
编辑:我只想对已经存储在 firebase 中的一些数据进行数据化,将其移动到另一个 firebase 位置并删除原始数据。
【问题讨论】:
-
你是从代码中调用这个函数并传递给它一个快照吗?
-
我是 firebase 新手,我的理解是快照是做到这一点的唯一方法。我被误导了吗?
-
您描述的错误表明您可能正在从代码中调用 itemsBoughtACTION 并将其传递给 FDataSnapshot。如果是这样,你不想这样做。 itemsBroughtAction 看起来像连接到 UI 中的 NSButton ,因此按下该按钮会将按下的 NSButton 传递给该方法。使用该方法后,您可以创建查询、获取快照并处理数据。让我们知道情况如何.. 我的猜测可能会离谱。
-
这是正确的。我有一个带有数据的当前 firebase 数据模型。当按下连接到 itemsBoughtACTION 的按钮时,我希望将列表中具有“已完成”属性且值为 true 的所有项目保存在单独的 Firebase 列表中。