строки не добавляются в NSMutableArray - PullRequest
0 голосов
/ 26 января 2011

Я хочу добавить строковые объекты в массив внутри цикла. Ниже мой код;

for (int i=0;i<[retrievedArray count];i++)
{
    NSString *temp = [[retrievedArray objectAtIndex:i] OfficialName];
    [detailPgArray addObject:temp];
}

У меня есть 10 объектов внутри retrievedArray (не как прямые строки, а как OfficialName)

Но по какой-то причине в конце цикла for detailPgArray имеет 0 объектов. Пожалуйста, помогите.

Ответы [ 4 ]

3 голосов
/ 26 января 2011

detailPgArray более чем вероятно, ноль.Вы должны разместить где-нибудь.Если это переменная экземпляра, попробуйте следующее.

[detailPgArray release];
detailPgArray = [[NSMutableArray alloc] initWithCapacity:[retrievedArray count]];

for (int i=0;i<[retrievedArray count];i++)
{
    NSString *temp = [[retrievedArray objectAtIndex:i] OfficialName];
    [detailPgArray addObject:temp];
}
1 голос
/ 26 января 2011

Я предполагаю, что вы забыли выделить и инициализировать detailPgArray. Если это ноль, то ваши -addObject: звонки будут весело переходить в пустоту, а любые последующие вызовы -count будут возвращать ноль или 0.

0 голосов
/ 26 января 2011

В Objective-C вы можете отправить сообщение на nil, и приложение не будет аварийно завершено - и это то, что происходит в вашем коде с этим вызовом addObject.Вы должны выделить и инициализировать массив.

0 голосов
/ 26 января 2011

Скорее всего, detailPgArray - ноль.Вам нужно создать массив для перехода в переменную.

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