2015-11-07 4 views
2

Я пытаюсь реализовать один пример в Realm, в котором с использованием Core Data у меня было два варианта:Как автоматически обновить свойство в эквиваленте Realm или NSFetchedProperty?

Как автообновить свойство после того, как объект был вставлен во взаимоотношения? Например. После создания новой транзакции с расходами, указанной в разделе account.transactions: List<Transaction>, как автоматически пересчитать account.balance?

В отношении основных данных я мог бы либо прослушивать KVO по транзакционным отношениям, либо использовать NSFetchedProperty, который бы восстановил колонку для меня.

Есть ли способ добиться того же результата в Realm, не прислушиваясь к каждому обновлению базы данных?

ответ

0

(Отказ от ответственности: Я работаю Realm)

Недавно мы сделали Realm объекты полностью KVO требованиям. :)

Итак, для вашего сценария просто нужно подключить наблюдателя к свойству списка объектов и обновить его, когда вы получаете уведомления оттуда.

Дайте мне знать, как вы идете!

+0

Что вы имеете в виду в последнее время, уже выпущено? Я попытался посмотреть свойство с KVO, и он жалуется на сохранение объекта с наблюдателем. –

+0

Да, он был выпущен в Realm 0.95 несколько месяцев назад. Да, это правильно; вы не можете добавить новый объект в файл Realm, пока он имеет прикрепленные наблюдатели. Вам нужно будет добавить его, а затем присоединить его после. Дополнительная информация доступна на сайте Realm: https://realm.io/docs/swift/latest/#key-value-observation – TiM

+0

Да, я читал это, но я все еще не понимаю. Если я намерен обновить атрибут «balance» и снова сохранить учетную запись в Realm, как я могу наблюдать и сохранять одновременно? –