Отделить объект от царства?
Допустим, у меня есть следующий сценарий...
ViewController1
загружает объект Person
из царства в основной поток и передает его на ViewController2
. Взаимодействие пользователя в ViewController2
вызывает изменение одного и того же объекта Person
, но я хочу только сохранить изменения после нажатия на кнопку "Сохранить".
В настоящее время при изменении переданного объекта Person
в ViewController2
возникает ошибка времени выполнения, указывающая, что изменения в объекте должны выполняться в блоке Write. Это имеет смысл, но в этом случае я действительно не хочу, чтобы сохранить изменения сразу.
- Есть ли способ отделить объект от царства, чтобы избежать
чеки?
- Если этого не произойдет, будет предложена работа? (Копирование объекта в новый экземпляр? Отслеживание изменений в объекте по отдельности и их применение позже? Оба кажутся довольно грязными.)
Ответы
Ответ 1
Прямо сейчас вы можете сделать "автономную" копию своего объекта через Object(value: existingObject)
- это, вероятно, будет самым простым решением, пока Realm не добавит что-то вроде вложенных транзакций, которые сделают undo
произвольное количество изменений.