gpt4 book ai didi

ios - Firebase ChildAdded 每次在我的 iOS 应用程序中触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:36 39 4
gpt4 key购买 nike

我有一个简单的 iOS 应用程序,可以将 1,000 个联系人与我的 Firebase 同步。 persistenceEnabled 在我的 AppDelegate 中设置为 true。

在我的 UITableViewController 中,我观察到 ChildAdded 事件,下载联系人,这一切正常。

问题是这样的 - 下次我打开应用程序时,导航回 UITableViewController,ChildAdded 事件再次触发并加载 1,000 个联系人。

我认为会发生的情况是,在随后的启动中,ChildAdded 事件不会触发,因为 persistenceEnabled 为 true 并且没有添加新的 Children。

我是否误解了 Firebase 的工作原理?

ref.child("contacts").observeEventType(.ChildAdded, withBlock: { snapshot in

if let json = snapshot.value as? NSDictionary {

for key in json.keyEnumerator() {
if let dict = json.valueForKey(key as! String) as? NSDictionary {
let contact = Contact(data: dict)
contacts.append(contact)
}
}
}
})

最佳答案

来自Firebase documentation on .ChildAdded :

The FIRDataEventTypeChildAdded event is triggered once for each existing child and then again every time a new child is added to the specified path.

使用持久性不会对此行为产生影响。它只是确保如果应用程序在您没有网络连接时启动,事件也将以这种方式进行。

关于ios - Firebase ChildAdded 每次在我的 iOS 应用程序中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38715948/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com