Я работаю над приложением, которое использует Core Data в качестве бэкэнд для управления записями SQLite. У меня есть все, что работает со строками и цифрами, но просто попробовал добавить поля BOOL и, похоже, не может заставить работать.Основные данные и настройка BOOL
В .xcdatamodel я добавил поле к моему объекту с именем isCurrentlyForSale
, который не является необязательным, а не временным, а не индексированным. Тип атрибута имеет значение Boolean со значением по умолчанию NO.
Когда я создал файлы класс модели данных, шаблонный код добавлен для этого свойства в .h заголовок был:
@property (nonatomic, retain) NSNumber * isCurrentlyForSale;
вместе с
@dynamic isCurrentlyForSale;
в ом файл реализации.
Я всегда работал с булевыми как простые BOOL. Я читал, что могу использовать методы NSNumber numberWithBool
и boolValue
, но это похоже на много лишнего кода для чего-то такого простого.
Может ли @property в заголовке быть изменен на простой BOOL? Если это так, что нужно следить?
Благодаря -John
Изделие или собственность должны иметь «есть» в нем. Вот почему '@ property' имеет параметр' getter = '. И да, вы можете изменить '@ property' на BOOL, используя примитивные аксессоры, которые являются частью Core Data. –
@Marcus Да, я знаю, что сеттеры не должны иметь 'Is' в них, но я ввел его, потому что' setCurrentlyForSale: 'уже был сделан CD (и я знаю о' getter = 'и' setter = '. И вы говорите, что можете просто изменить 'NSNumber *' на 'BOOL' в заголовке, и это сработает?Это меня удивило бы. –