【发布时间】:2015-07-29 17:23:20
【问题描述】:
假设我有以下情况......
ViewController1 从主线程的 Realm 加载一个 Person 对象并将其传递给 ViewController2。 ViewController2 中的用户交互会导致相同的 Person 对象发生更改,但我只想在用户按下“保存”后保留更改。
目前,当更改ViewController2 中传递的Person 对象时,会引发运行时错误,说明需要在写入块中对对象进行更改。这是有道理的,但在这种情况下,我实际上并不想立即保留更改。
- 有没有办法从领域中分离对象以避免这些 检查?
- 如果没有,建议的解决方法是什么? (将 Object 复制到新实例?单独跟踪 Object 的更改并稍后应用它们?两者看起来都非常混乱。)
【问题讨论】:
-
看这里:realm.io/docs/swift/latest 在“更新对象”部分,如果你有一个主键,你可以使用
Realm().add(_:update:)。因此,您似乎已经重新创建了该对象,并且当您想要保存它时执行写入事务并执行更新。 -
感谢 Ixx,这与我遇到的问题相同。我的对象相当大(很多字段),我不想每次都将它全部复制到一个新对象中。 :(
-
可以理解...我也对答案感兴趣:)