更改领域文件而不重新启动应用程序

时间:2016-08-01 14:02:43

标签: realm

我正在使用带有iCloud文档的领域,所以问题:

当iCloud文档发生变化时,如何在不重新启动应用程序的情况下更改领域文件?

1 个答案:

答案 0 :(得分:4)

在Realm对象打开Realm文件时,不应该更改它。这可能会导致未知的副作用。

所以我建议在有意义的时候导出域文件。此文件可以通过iCloud同步,也可以监控更改 - 导入更改。

导出方法解释了文档:https://realm.io/docs/swift/latest/api/Classes/Realm.html#/s:FC10RealmSwift5Realm15writeCopyToPathFS0_FTSS13encryptionKeyGSqCSo6NSData__GSqCSo7NSError_

如果领域文件较大,则还有另一个缺点:即使是较小的更改,iCloud也会始终同步整个文件。

简而言之:使用Realm和iCloud实现干净,无冲突的同步解决方案感觉很复杂。也许你应该考虑使用CloudKit或任何simelar后端服务来实现你的数据同步: https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/CloudKitQuickStart/Introduction/Introduction.html