Iphone insertObjectAtIndex方法不起作用

Iphone insertObjectAtIndex方法不起作用,iphone,indexing,nsmutablearray,Iphone,Indexing,Nsmutablearray,假设filteredArray={0,2,3,4}。我有另一个数组叫做tempArray。我想在数组的第0、第2、第3、第4个位置插入1。 此代码段不工作。任何帮助都将不胜感激 NSMutableArray *tempArray =[[NSMutableArray alloc]init]; // Assume filteredArray={ 0,2,3,4} for (int i=0 ; i<[filteredArray count] ; i++) { [tempArray in

假设filteredArray={0,2,3,4}。我有另一个数组叫做tempArray。我想在数组的第0、第2、第3、第4个位置插入1。 此代码段不工作。任何帮助都将不胜感激

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]];
}
NSMutableArray*tempArray=[[NSMutableArray alloc]init];
//假设filteredArray={0,2,3,4}

对于(int i=0;i要将对象插入索引处的数组,数组中必须有一些对象(不少于索引)。换句话说,不能将索引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*/];
 } 

for(int i=0;iinsertObject:atIndex:当然可以。接受0%的答案,另一方面希望对模糊的问题有帮助的回答…在这种情况下,您应该使用initWithCapacity初始化tempArray。首先检查NSlog(@“%d”,filterDarray count])。