Realm对象服务器的新连接通过通知历史记录循环

时间:2017-08-23 15:07:46

标签: realm realm-mobile-platform

ROS 2.0b-285,Ubuntu 16.04.3,Realm Cocoa 3.0.0-beta 2,Swift 3.1,Xcode 8.3.3,macOS 10.12.6

观看此视频,了解该问题: http://d.pr/v/O9GIxF

此仪表板屏幕包含以下代码:

override func viewDidLoad() {
  super.viewDidLoad()

  refreshData()

  //Listen for Realm changes
  let realm = try! Realm()
  notificationToken = realm.addNotificationBlock { notification, realm in
    self.refreshData()
  }
}

refreshData()函数只包含获取Realm数据并更新UI的代码。

视频显示应用更新各种历史快照数据随着时间的推移,直到最终赶上最新数据和停止。

为什么这样做?为什么它只是获取最新数据并触发通知块一次?

1 个答案:

答案 0 :(得分:0)

addNotificationBlock的当前实现会触发中间历史快照的回调,因为域通过传输历史记录而不是状态来同步。因此,如果您只想开始获取有关连接后发生的更改的通知,那么您应该尝试以下操作:

  1. 使用addProgressNotification()安排下载方向回调。
  2. 按照原来的方式设置通知块,但仅在下载完成后(从1次点火回调)。