我想使用Realm作为持久性模型来表示我的CloudKit公共数据库。这可能吗?
具体来说,我想使用CloudKit获取Realm数据模型并将其存储在我的CloudKit公共数据库中。
这将克服我每次将应用程序加载到内存时必须从CloudKit获取数据的当前问题。如果没有本地数据模型,当没有Internet连接时,由于没有持久性,因此不会获取任何数据。
如果应用程序已从内存中删除,则应用程序中保存的从CloudKit获取的任何数据也将从内存中删除。
答案 0 :(得分:1)
有可能,你只需编写代码就可以将模型对象转换为可以发送到CloudKit的CKRecords。
如果您尝试使用私有数据库,我建议使用此库,它与Realm和Core Data兼容(免责声明,我是作者):https://github.com/mentrena/SyncKit
Core Data的另一个解决方案是https://github.com/nofelmahmood/Seam
但是,公共数据库不允许查询更改,因此您必须推出自己的实现以保留某些记录查询的缓存,而不是整个模型的完全同步的本地缓存。
答案 1 :(得分:0)
在我看来,如果你想使用CloudKit,你应该使用Core Data作为持久存储。它很好地协同工作。
如果您更喜欢现代解决方案,请尝试使用Realm Mobile Platform https://realm.io/products/realm-mobile-platform/
此外,您可以尝试使用Vapor编写一些自定义后端,并使用Realm作为持久存储。