【问题标题】:Firebase data comparison swiftFirebase 数据比较 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()
    })
}

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database


    【解决方案1】:

    使用 .Value 事件类型而不是 .ChildAdded 应该会立即为您提供所有结果:

        refhandle1 = ref.child("ingredients").observeEventType(.Value, ...
    

    阅读 firebase documentation 获取更多详细信息。

    【讨论】:

      猜你喜欢
      • 2017-05-14
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 2014-09-30
      • 2019-04-25
      • 1970-01-01
      • 2020-08-09
      • 2017-02-20
      相关资源
      最近更新 更多