本地创建的&更新了Realm中的时间戳

时间:2016-03-29 11:09:50

标签: ios swift realm

我正在努力将以下框架集中在一起,以自动将JSON响应映射到Realm,并将对象保存到数据库中。

  • Alamofire
  • ObjectMapper
  • AlamofireObjectMapper

如果是新对象,我想设置createdAt(非来自服务器的本地时间戳)时间戳,并始终更新updatedAtupdatedAt非常直接设置,除了没有任何触发器注册并以干净的方式执行。

我开始使用realm.add(object, update: true),但我意识到这会使现有的createdAt无效。

一种解决方案是始终在保存之前获取对象,但在获取大量对象时,这似乎非常重,只是为了保持createdAt完整。

  1. Aren在Realm中有任何触发器来订阅运行代码 例如保存/加载?
  2. 在Realm中处理这样的时间戳的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

评论中讨论的内容绝对是最好的方法。 Realm不会更新object中未包含的属性(即,如果它只是Dictionary仅列出几个属性),但是如果您使用正确的域进行更新Objectnil是一个有效值,因此Realm无法知道不接触它。

Realm的性能很快,因为在您真正开始访问其属性之前,对象及其值实际上并未被分页到内存中,因此手动更新注释中提到的对象应该有效,并且不应该有任何明显的性能开销。