2012-02-16 2 views
1

Я знаю, что это, вероятно, по дизайну, но я думал, что сначала проверю сообщество.Свойства NSManagedObject, установленные на нуль, возвращаются 0

Как появился новый объект NSManagedObject, его свойства NSNumber возвращают 0? Я хочу, чтобы они были ноль, пока они не были установлены.

+0

'nil' ** в ** 0. Так' NULL'. В чем проблема? – Costique

ответ

4

Вы просто забыли снимите опцию default значение?
NSManagedObject вернет нуль для этого атрибута, если default не отмечен, и атрибут никогда не был установлен. По крайней мере, это то, что происходит в моем приложении.

enter image description here

+0

Да, это было бы проблемой :) –

0

Это Состояние NSNumber. После того, как он будет создан, но не присваивается значение, оно устанавливается в 0.

Надежда, что помогает

+0

Я все еще думаю, что значения unset property являются 'nil'. Поскольку любое сообщение, отправленное в 'nil', возвращает' nil', '[nil intValue] == 0'. – Costique

+0

Спасибо, mbh. Помогает. Просто кусается. Как вы проверили, установлен ли атрибут NSNumber или нет? Есть ли способ? Должен ли я сделать значение по умолчанию -1 или что-то подобное? –

+0

Сначала проверьте, является ли свойство 'nil', прежде чем вы получите' intValue'. –

Смежные вопросы