2017-02-03 11 views
0

Firebaseデータベースをループして、すべてを配列に入れようとしています。しかし、私がそれを実行すると、配列は常に空になります。私はこれをどのようにするべきですか?ありがとう。Firebaseを通じてルーピングすると、空のテーブルが生成されますか?

データベースが仕事に、このために設定されていると仮定すると、
categories = ["Appliances", "Arts & Crafts", "Beauty & Personal Care", "Books", "Clothing", "Electronics", "Home & Kitchen", "Movies & TV", "Sports & Outdoors", "Toys & Games", "Video Games", "Other"] 

    for items in categories { 

     let ref = FIRDatabase.database().reference(withPath: "items").child(items) 

     ref.observe(.value, with: { (snapshot) in 

      for items in snapshot.children { 

       let item = Item(snapshot: items as! FIRDataSnapshot) 
       self.allItems.append(item) 

      } 

      self.tableView.reloadData() 

     }) 

    } 
+0

を行う場合は、ループによって何を意味するあなたを助けるかもしれません? – Victor

答えて

0

categories = ["Appliances", "Arts & Crafts", "Beauty & Personal Care", "Books", 

    "Clothing", "Electronics", "Home & Kitchen", "Movies & TV", "Sports & Outdoors", "Toys & Games", "Video Games", "Other"] 

    for items in categories { 

     let ref = FIRDatabase.database().reference(withPath: "items") 

     ref.observe(.value, with: { (snapshot) in 
      let value = snapshot.value as? NSDictionary{ 
       for item in value.allKeys{ 
        if let foundItem = value[item] as? String{ 
         self.allItems.append(foundItem) 
        } 
       } 
      } 
      self.tableView.reloadData() 
     }) 
    } 

それはまた、あなたが別途ごFirebase参照を宣言しref.child("items).observe

関連する問題