Счетчик массивов равен 0 сразу после вызова addObject - PullRequest
0 голосов
/ 12 января 2012

Почему считается счетчик otherArray 0, хотя self.array содержит N элементов и цикл for выполняется N раз?

for (MyObject *obj in self.array) 
{
    [self.otherArray addObject:obj];
    NSLog(@"Num items: %d", [self.otherArray count]);
} 

self.otherArray представляет собой NSMutableArray *

ПОЗЖЕ: Doh !, забыл вызвать alloc / init (я пришел из языка, где эквивалент addObejct создаст массив при необходимости).

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Наилучшее предположение: Вы неправильно инициализировали self.otherArray.

Второе предположение: self.otherArray не является изменяемым.

Проверьте это, отправив код инициализации.

0 голосов
/ 12 января 2012

В этом случае наиболее распространенная причина, по которой это происходит, - если self.otherArray не инициализирован. Если вы добавите проверку в self.otherArray, я подозреваю, что это ноль. Если вы добавили:

self.otherArray = [[NSMutableArray alloc] init];

прямо перед другим кодом, я подозреваю, что он будет работать как задумано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...