我正在努力将以下框架集中在一起,以自动将JSON响应映射到Realm,并将对象保存到数据库中。
如果是新对象,我想设置createdAt
(非来自服务器的本地时间戳)时间戳,并始终更新updatedAt
。 updatedAt
非常直接设置,除了没有任何触发器注册并以干净的方式执行。
我开始使用realm.add(object, update: true)
,但我意识到这会使现有的createdAt
无效。
一种解决方案是始终在保存之前获取对象,但在获取大量对象时,这似乎非常重,只是为了保持createdAt
完整。
答案 0 :(得分:1)
评论中讨论的内容绝对是最好的方法。 Realm不会更新object
中未包含的属性(即,如果它只是Dictionary
仅列出几个属性),但是如果您使用正确的域进行更新Object
,nil
是一个有效值,因此Realm无法知道不接触它。
Realm的性能很快,因为在您真正开始访问其属性之前,对象及其值实际上并未被分页到内存中,因此手动更新注释中提到的对象应该有效,并且不应该有任何明显的性能开销。