Основные примитивы доступа к данным - PullRequest
5 голосов
/ 19 мая 2011

Меня немного смущает, генерирует ли Core Data примитивные средства доступа для подклассов NSManagedObject в форме setPrimitiveAttributeName: по сравнению с формой setPrimitiveValue: forKey:, что, похоже, происходит последовательно.

Источник моей путаницы заключается в том, что я использовал инструмент моделирования (XCode 4) для генерации NSManagedSubclasses для двух моих сущностей, которые, насколько я могу судить, используют одни и те же настройки метаданных, но один подкласс распознает setPrimitiveAttributeName форма, в то время как другой не (это дает мне предупреждение «метод не найден»).

Итак, каковы ожидания? Если я открываю новый проект, создаю одну сущность с одним атрибутом и использую инструмент моделирования для генерации необходимого кода подкласса NSManagedObject, я должен ожидать, что он автоматически сгенерирует более эффективную форму примитивного средства доступа или нет?

1 Ответ

2 голосов
/ 04 ноября 2011

Я столкнулся с подобной проблемой. В то время как среда выполнения генерирует примитивные средства доступа , Xcode 4 не генерирует объявленные свойства для примитивов, вы должны сделать это самостоятельно в подклассе, в соответствии с документацией.

Я лично создаю категорию для каждой сущности и всегда добавляю туда свой собственный код, чтобы я мог регенерировать МО в любое время, когда мне не нужно копировать и вставлять.

Вы можете сделать это в категории, интерфейс имеет это:

@property (nonatomic, retain) NSDate * primitiveLastUsed;

И реализация имеет это:

@dynamic primitiveLastUsed;

Довольно гладкий, делает регенерацию МО из XCode безболезненным.

...