如何在Firebase中监听嵌套的childChanged事件

如何在Firebase中监听嵌套的childChanged事件

我有以下代码;

newHandle = jobsRef.observe(.childChanged, with: { (jobSnapshot) in
        print(jobSnapshot)
        print(jobSnapshot.ref)
        print("end")
        self.childHandle = jobSnapshot.ref.observe(.childChanged, with: { (childSnapshot) in
            print("hello")
            print(childSnapshot)
        })
    })

我的数据库如下;
AllJobs
    JobID
        Name
        Description

JobsRef指向AllJobs,例如,当我更改名称时,将调用前3个print语句。但是我想知道名字是不是被改变了或者是描述了,所以我想在我改变名字的时候给第二个人打电话。有什么想法吗?

最佳答案

您可以附加两个侦听器以获取名称和说明

jobsRef.observe(.childChanged, with:
{
    (jobSnapshot) in
    // print(jobSnapshot)
    // print(jobSnapshot.ref)
    // print("end")
    jobSnapshot.ref..child("name").observe(.childChanged, with: { (childSnapshot) in
        print("name changed")
        print(childSnapshot)
    });

    jobSnapshot.ref.child("description").observe(.childChanged, with: { (childSnapshot) in
        print("description changed")
        print(childSnapshot)
    });

});

但请记住,这将为你观察到的每一项我认为不好的工作产生听众
注意:我使用小写的名称作为子名称(名称、描述),如果它们不同,您需要更改它们

关于swift - 如何在Firebase中监听嵌套的childChanged事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48478053/

10-11 07:53