Почему это NULL? - PullRequest
       38

Почему это NULL?

0 голосов
/ 16 июня 2011

Может кто-нибудь сказать мне, почему это NULL?

Таким образом, Array1 является NSMutable и имеет объект NSString "UserName" с индексом 0;

NSLog (@"Contents of array1 %@", [array1 objectAtIndex:0]); //prints UserName

Теперь я делаю это ...

array2 принадлежит другому классу. Я ссылаюсь на класс, импортирую .h файл, добавляю свойство и синтезирую его.

[object2.array2  addObject: array1]; //array2 is NSMutable properly initialized in it's respective class in the init method

NSLog (@"Contents of array2 %@", [object2.array2 objectAtIndex:0]); //prints (null)

tempArray = [[NSMutableArray alloc] init];
tempArray = [object2.array2 objectAtIndex:0];
NSLog (@"%@", [tempArray objectAtIndex:0]); // Prints (null) // Should be UserName

Добавление дополнительной информации:

object2 является объектом другого класса (который является подклассом NSObject), а объект2 содержит массив2, так как он property.

объект2 равен нулю. ЗАЧЕМ ? КАК ??

1 Ответ

2 голосов
/ 16 июня 2011
NSLog (@"Contents of array2 %@", [object2.array2 objectAtIndex:0]); //prints NULL

Если это 'печатает NULL', то это происходит по одной из четырех причин:

  • object2 ноль
  • object2.array2 возвращает ноль
  • объект с индексом 0 является строкой "NULL"
  • объект с индексом 0 description метод возвращает строку «NULL»

Что это?

<Ч />

объект 2 - ноль. Интересно почему.

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

...