Есть ли способ изменить атрибуты объекта также связанные с объектом объекты?Распространение изменений CoreData на связанные объекты
Структура, которую мы имеем следующий:
Image
имеет атрибутcontent
Category
имеет отношение один к одному кImage
Было бы идеально, если изменения для атрибутов в пределах объекта Image
может быть обнаружено связанным Category
таким образом, что Category
будет включен в NSUpdatedObjectsKey
от NSManagedObjectContextObjectsDidChangeNotification
. Я видел некоторые предложения, указывающие на то, что добавление атрибута sentinel, такого как needsUpdate
, до Category
, было бы хорошим способом сделать это, но это похоже на громоздкий способ справиться с этим.
Мои рассуждения для этого является то, что мне нужно перезагрузить TableView всякий раз, когда Category
изменения, или всякий раз, когда это связано Image
изменения, в данный момент в моем методе наблюдения за NSManagedObjectContextObjectsDidChangeNotification
проверить обновленные/удаленные/вставленные объекты для Image
экземпляров или Category
экземпляры, однако Image
экземпляры используются в другом месте приложения и могут не иметь отношения к экземпляру Category
, и в этом случае было бы ненужным перезагрузку таблицы. Я мог вручную прокручивать обновленные/удаленные/вставленные объекты, чтобы увидеть, являются ли они Image
экземплярами, связанными с Category
, но это не похоже на лучшее место для этого.
Я обнаружил, что this question похож на то, что я пытаюсь, однако у него нет ответа.
Пожалуйста, дайте мне знать, если необходима дополнительная информация, или если мой вопрос слишком запутан.
Редактирование: Модифицировано, чтобы надеяться сделать более очевидным, что меня интересует Category
, осознавая изменения в атрибутах объекта Image
, а не в изменении самой связи.
Если я правильно понял вопрос, это касается отслеживания изменений связанных объектов. NSFetchedResultsController не делает этого сам по себе, как сказал нам некоторый мастер Core Data: http://stackoverflow.com/a/7534013/1187415. –
Просмотр категории, и если отношения изображения меняются, тогда он срабатывает. Из моего чтения OP связь изменилась бы, а не данные внутри объекта изображения. –
Я согласен с тем, что использование функции NSFetchedResultsController было бы полезным, однако, как упоминалось в @MartinR, я не думаю, что он адекватно решает проблему (по крайней мере, сам по себе). У меня нет веских оснований для того, почему я не использовал 'NSFetchedResultsController', я, скорее всего, не был знаком с CoreData, когда я изначально реализовал tableview (таким образом, делал трудный путь) и так и не нашел достаточных оснований для его реорганизации После этого появится 'NSFetchedResultsController'. – Arkcann