2017-12-09 5 views
0

後で目的のためにデータベースからいくつかのデータを使いたいと思います。しかし、私がロードしたいデータは、観測されたデータが最初にアプリケーションが使用されたときに存在しない友人要求の辞書なので、まだ存在しないかもしれません。しかし、。 childAdded観察者がそれを行う必要があり、それはそこに停止し、コードはそれが はつまり、なぜ誰もアイデアを持っています...観察する方法に入らない Firebase .childAddedは動作しません。観測された子がまだ存在しない可能性があります。

func getFriendRequest(_ uid: String, completion: @escaping ([String]) -> Void) { 
    var friendRequests = [String]() 
    let currentUserRef = DatabaseReference.users(uid: self.currentUser.uid).reference() 
    currentUserRef.child("sendFriendRequest").observe(.childAdded, with: { (snap) in 
     let request = FriendRequest(dictionary: snap.value as! [String : Any]) 
     let requestedUid = request.uid 
     print(requestedUid) 
     friendRequests = [requestedUid] 
     completion(friendRequests) 
    }, withCancel: nil) 
} 

さらに実行されていませんか?

答えて

1

.childAdded完了ハンドラは、子がある場合にのみ呼び出されます。子ノードがない場合、sendFriendRequestの下に子を追加するまで呼び出されません。

+0

わかりました。おかげさまで、この問題を解決するにはどうしたらいいですか? – AlexVilla147

関連する問題