У меня есть подкласс NSManagedObject с 30 различными атрибутами. В приложении пользователь должен иметь возможность редактировать (большинство) атрибуты в таблице. Существует три атрибута, которые автоматически устанавливаются на основе значений других комбинаций атрибутов.Создание гибкой формы редактирования для атрибутов подкласса NSManagedObject
Пример:
@implementation myNSManagedObjectSubclass
@dynamic one; // edited by user in form
@dynamic two; // edited by user in form
@dynamic three; // edited by user in form
@dynamic four; // edited by user in form
@dynamic five; // edited by user in form
@dynamic icon; // automatically set based values of above 5 items
@end
У меня есть два вопроса:
1) Что касается построения формы в виде таблицы, которую пользователь может использовать для редактирования объектов: Кроме жесткого кодирования содержимое представления таблицы, как я могу получить представление в таблице для создания ячеек только для атрибутов, которые ему нужно показать? Моя нынешняя идея заключается в использовании this method для повторения всех свойств моего объекта и наличия двоичной «маски отображения», которую может использовать табличное представление для определения того, должна ли она отображать ячейку для определенного элемента. Есть ли способ лучше?
2) Относительно автоматической установки одного атрибута, основанного на значении других: Как? Я думаю, что KVO вступает в игру здесь (мне нужно, чтобы атрибут значка обновлялся на экране, как только один из атрибутов зависит от изменений), но я новичок в Core Data и не уверен, что я прочитал, могу ли я добавить KVO к подклассам NSManagedObject.
О, человек ... Как я мог не думать о переопределяющих сеттерах? Это так просто. Спасибо. Не могли бы вы рассказать о решении plist? – Shinigami
Plist: словарь имен сущностей, массивы атрибутов с одной или несколькими дополнительными фрагментами информации. Мы использовали это для перевода, например. Объекты JSON в существующие структуры данных. Таким образом вы можете легко и просто настроить порядок и «редактируемый» атрибут. – Mundi