【发布时间】:2017-09-12 06:30:20
【问题描述】:
Swift 3.1、Xcode 8.3.3
我在我的应用程序的视图控制器中设置了一个领域通知,在我的应用程序启动后,它连续触发 4 次。
let realm = try! Realm()
notificationToken = realm.addNotificationBlock { notification, realm in
print("notif: \(notification)") <-- Logs 4 times in a split second
self.refreshData()
}
由于 refreshData() 方法是刷新我的 UI(其中包含绘制的图形)的原因,因此每次刷新时我都会看到抖动/闪烁。
有没有办法将这些通知聚合成一个通知,以便我只刷新一次 UI?
【问题讨论】:
-
您应该首先弄清楚是什么触发了通知。还可以考虑只过滤相关的通知,这样它就不会为不相关的更改调用刷新。