2017-09-21 8 views
0

私のviewControllerで私はその配列にそのユーザーを追加する必要がありますが、私は空の配列を取得することができない何かの理由でarrayUtenti、何が起こったのだろうか?firebase素早く空の配列オブオブザーバー

************** EDITED WORKSが**************

func vengodaEditPremuto(completionHandler:@escaping ([Users]) ->()){ self.root.child("users").child("ZJq98gvOEHaLUqYTbp4xF52f2K23").observeSingleEvent(of: .value, with: { (snapshot) in 

var TempArray: [Users] = [] 


     guard 
      let value = snapshot.value as? [String:AnyObject], 
      let userid = value["id"], 
      let username = value["name"], 
      let useremail = value["email"] 
     else {return} 

    let utenteesistente = Users(id: userid as? String, name: username as? String, email: useremail as? String) 


    TempArray.append(utenteesistente) 



    self.arrayUtenti = TempArray 
    completionHandler(self.arrayUtenti) 
    print(self.arrayUtenti) //here is ok 

    }) 

print(self.arrayUtenti) //here the array is empty!! 
} 
+1

はいこの機能は非同期です。これは正しい呼び出しを行うために最後に行う必要があります。 https://stackoverflow.com/a/46146043/7715250私の答えを確認してください。まったく同じ問題があります。 –

答えて

1

あなたのコードは、私のコメントの後に正常に見えます。

vengodaEditPremuto(){ result in 
print(result) 
} 
+0

Thnxそれは今作動する! – HaVaNa7

関連する問題