Ios Firebase.childAdded不起作用,因为观察到的子级可能还不存在

Ios Firebase.childAdded不起作用,因为观察到的子级可能还不存在,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我想使用数据库中的一些数据用于以后的用途。但是,我想要加载的数据可能还不存在,因为观察到的数据是一个朋友请求字典,在第一次使用应用程序时,这些请求并不存在。尽管.childAdded观察者应该这样做,但它只是停在那里,代码不会进一步执行 func getFriendRequest(_ uid: String, completion: @escaping ([String]) -> Void) { var friendRequests = [String]() let cur

我想使用数据库中的一些数据用于以后的用途。但是,我想要加载的数据可能还不存在,因为观察到的数据是一个朋友请求字典,在第一次使用应用程序时,这些请求并不存在。尽管.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)
}
它没有进入观察法。。。 有人知道这是为什么吗?

只有在有子级时才会调用.childAdded完成处理程序。如果没有子节点,则在sendFriendRequest下添加子节点之前不会调用它