我有以下代码;
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,例如,当我更改 Name 时会调用前 3 个打印语句。但我希望第二个在我更改名称时被调用,因为我想知道名称或描述是否已更改。有什么想法吗?
最佳答案
您可以附加两个监听器以获取名称和描述
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/