Метод insertObjectAtIndex не работает - PullRequest
0 голосов
/ 10 января 2012

Предположим, что FilterArray = {0,2,3,4}.У меня есть другой массив с именем tempArray.Я хочу вставить 1 в нулевой, второй, третьей, четвертой позиции в tempArray.Этот фрагмент кода не работает.Любая помощь будет оценена.

NSMutableArray *tempArray =[[NSMutableArray alloc]init]; 
// Assume filteredArray={ 0,2,3,4}
for (int i=0 ; i<[filteredArray count] ; i++)
{
    [tempArray insertObject:@"1" atIndex:[filteredArray objectAtIndex:i]];
}

1 Ответ

1 голос
/ 10 января 2012

чтобы вставить объект в массив по индексу, у вас должно быть несколько объектов (не меньше индекса) в массиве.Другими словами, вы не можете добавить объект с индексом 5 в массив с числом 3. Вот решение, которое я советую:

 for(int i=0;i<[filteredArray count];i++) { 
[if ([[filteredArray objectAtIndex:i] intValue] == i) [tempArray addObject:@"1"];
else [tempArray addObject:/*any ampty object*/];
 } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...