Я предполагаю, что сущность счета имеет обратную связь с транзакциями.(Apple настоятельно рекомендует, чтобы у вас всегда были обратные отношения. Поэтому, если у вас их нет, настройте их!)
Допустим, у вас есть подкласс Account
из NSManagedObject
для сущности учетной записи и Transaction
для объекта транзакции.Назовите обратную связь с транзакциями как transactions
.
Затем, когда вы меняете учетную запись для транзакций, обратная связь автоматически обновляется CoreData.Итак, все, что вам нужно сделать, это написать процедуру самонаблюдения для transactions
в Account
, чтобы объекты Account
сами отслеживали баланс.Я думаю, что более объектно-ориентированным является создание Account
объектов для заботы о себе, чем изменение баланса со стороны Transaction
объекта ... хотя, конечно, это зависит от вашего вкуса.
Для выполнения наблюдения вы используете КВО .По сути, вы регистрируете KVO по addObserver:forKeyPath:options:context:
с подходящим набором опций.Затем вы получаете изменение путем реализации observeValueForKeyPath:ofObject:change:context:
.Изменения можно найти в словаре, переданном этому методу.