Firebase 数据比较 swift
Posted
技术标签:
【中文标题】Firebase 数据比较 swift【英文标题】:Firebase data comparison swift 【发布时间】:2016-08-17 10:26:35 【问题描述】:您好,我是 swift 新手,我在我的应用程序中使用了 firebase。我想从firebase数据库中获取一个孩子下的所有数据,并将其与一个已经存在的数组进行比较以找到缺失的值并将它们加载到tableview中我已经添加了我用来执行这个的代码,并且for循环被称为每个找到新孩子的时间,我想在从 firebase 数据库中获取所有值后执行那个 for 循环。有什么方法可以执行此操作,或者有什么方法可以知道 Firebase 是否已检索到所有数据。在此先感谢
func fetchUsers()
ingredientMasterArr.removeAll()
refhandle1 = ref.child("ingredients").observeEventType(.ChildAdded, withBlock:
(snapshot) in
if let dictionary = snapshot.value as? [String : String]
let ingredients = IngredientsClass()
ingredients.id = dictionary["id"]
ingredients.ingredient_name = dictionary["ingredient_name"]
// ingredients.category
ingredientMasterArr.append(ingredients)
FilteredIngMasterArr.removeAll()
let temp = IngredientsClass()
for MasterID in ingredientMasterArr
if (ShopIngKeysArr .contains(MasterID.id!))
print("if",MasterID.ingredient_name)
else
print("else",MasterID.ingredient_name)
temp.id = MasterID.id
temp.ingredient_name = MasterID.ingredient_name
FilteredIngMasterArr.append(temp)
self.tbl_ingMaster.reloadData()
)
【问题讨论】:
【参考方案1】:使用 .Value 事件类型而不是 .ChildAdded 应该会立即为您提供所有结果:
refhandle1 = ref.child("ingredients").observeEventType(.Value, ...
阅读 firebase documentation 获取更多详细信息。
【讨论】:
以上是关于Firebase 数据比较 swift的主要内容,如果未能解决你的问题,请参考以下文章