【发布时间】:2015-11-29 14:26:57
【问题描述】:
我目前正在通过调用realm.create(T.self, value: object, update: true) 使用 Realm 实现插入或更新模式。 object 是从 rest 调用返回的 JSON,它可能包含与该领域对象关联的部分或全部属性。 (也就是说,我需要支持部分更新。)
在许多 JSON 对象中都有一个名为 description 的键。由于我不能拥有一个具有名为public dynamic var description 的属性的领域对象子类,我需要选择另一个名称并确保在调用realm.create 时正确映射它。我知道你在想什么,我可以在调用 create 之前进行映射。然而,JSON 也可能有嵌套对象/对象数组,当 Realm 已经知道这些对象映射到哪里时,为所有嵌套属性设置映射对我来说似乎是多余的。如果我可以简单地在每个 Object 子类中定义一个映射,然后 Realm 可以计算出其余部分,那会更简洁。
我解决此问题的第一次尝试是覆盖 Object 的 init 函数(即使 cmets 明确表示不这样做,也必须尝试),但这不起作用,因为没有任何 init 方法接受 JSON对象实际上是使用realm.create 调用的。
有什么方法可以让我的生活更轻松吗?
注意:我使用的是 Swift 2.0 和 Realm 的 swift-2.0 分支
【问题讨论】: