-1

如何在指定索引处添加对象? 在我的问题中

NSMutableArray *substring 交替包含索引和对象,我需要str根据从该数组获得的索引将其添加到另一个数组中。

NSMutableArray *str=[NSMutableArray new];

if ([substrings containsObject:@"Category-Sequence:"]) 
{

    NSString *index=[substrings objectAtIndex:5];
    //[substrings objectAtIndex:5] 
gives me integer position at which I need to add object in `str` array,
gives 5,4,8,2,7,1 etc

    NSString *object=[substrings objectAtIndex:1];

    //[substrings objectAtIndex:1] gives object,gives NSString type of object

    [str insertObject:object atIndex:(index.intValue)];

}

请提出一些方法来实现它。

提前致谢!

4

2 回答 2

1

首先分配数组,然后尝试在其中添加对象。

NSMutableArray *str = [[NSMutableArray alloc]init];
if ([substrings containsObject:@"Category-Sequence:"]) 
{
    NSString *index=[substrings objectAtIndex:5];
    NSString *object=[substrings objectAtIndex:1];

    [str insertObject:object atIndex:(index.intValue)];
}
于 2013-01-14T14:38:36.007 回答
1

NSMutableArray在将对象插入其中之前分配:

NSMutableArray *strMutableArray = [[NSMutableArray alloc] init];

(如果你不使用 ARC,你还需要在完成后释放它。)

或者,如果您不需要保留,也可以使用临时对象strMutableArray

NSMutableArray *strMutableArray = [NSMutableArray array];

然后您可以将对象插入到NSMutableArray.

但是,在使用不同数组的索引时要小心。可能有更好的方法来做你想做的事。

于 2013-01-14T14:45:51.550 回答