2013-07-24 8 views
0

создать свойство NSNumber как так,NSNumber свойство равно нулю

@property (nonatomic, retain) NSNumber *repeat; 

И внутри того же класса установить его на NSNumber, содержащиеся в массиве

self.repeat = [dataArray objectAtIndex:3]; 

Это не бросайте ошибок во время компиляции или времени выполнения. Хотя он все еще отображается в области отладки как ноль. Я знаю, что NSNumber неизменен, но разве это не работает?

EDIT: Если я установил self.repeat для нового объекта NSNumber, он по-прежнему отображается как nil.

+0

Что такое [dataArray objectAtIndex: 3]? –

+1

Как и когда он отображается как 'nil'? Является ли 'dataArray'' nil'? – Wain

+0

В массиве есть допустимое содержимое (NSNumbers), но когда я устанавливаю свойство, оно отображается как nil на нижней панели точки останова Xcode – vqdave

ответ

0

На самом деле это была ошибка Xcode. Я очистил полученные данные, перезапустил свой Mac и попытался снова с успехом.

0

Сбрасывая один из ваших скриншотов, он выглядит как объект с индексом 3 - это BOOL. Просто сделайте это:

self.repeat = [NSNumber numberWithBool:[dataArray objectAtIndex:3]]; 

Это всегда будет возвращать либо 0 или 1, хотя, так что принять, что для того, что вы будете.