MongoDB Realm在后台同步数据,如何获取该领域上次同步的日期时间?希望向用户显示此信息以指示数据是最新的。
有一个 RLMSyncManager 类,但它似乎不包含有关上次同步的任何信息,https: //docs.mongodb.com/realm-sdks/objc/latest/Classes/RLMSyncManager.html
MongoDB Realm在后台同步数据,如何获取该领域上次同步的日期时间?希望向用户显示此信息以指示数据是最新的。
有一个 RLMSyncManager 类,但它似乎不包含有关上次同步的任何信息,https: //docs.mongodb.com/realm-sdks/objc/latest/Classes/RLMSyncManager.html
领域SyncSession
对象有一个addProgressNotification
方法https://github.com/realm/realm-cocoa/blob/b606bfddaa0856489561727207e755659faa9a7e/RealmSwift/Sync.swift#L557因此可以在那里添加回调来更新本地日期属性以存储更新的最后同步领域时间。
领域用户对象包含可以通过访问的活动会话列表,user.allSessions
替代方法是realm.syncSession
。
let realm = realmProvider.realm
let progressTokenDownload = realm.syncSession?.addProgressNotification(
for: .download,
mode: .forCurrentlyOutstandingWork
) { progress in
print(">>> DEBUG: [DCSettingsViewModel:checkRealmSyncingStatus] download", progress.fractionTransferred)
}
let progressTokenUpdate = realm.syncSession?.addProgressNotification(
for: .upload,
mode: .forCurrentlyOutstandingWork
) { progress in
print(">>> DEBUG: [DCSettingsViewModel:checkRealmSyncingStatus] upload ", progress.fractionTransferred)
}
if let progressTokenUpdate = progressTokenUpdate, let progressTokenDownload = progressTokenDownload {
progressNotificationTokens.append(progressTokenUpdate)
progressNotificationTokens.append(progressTokenDownload)
}