如何在NSMutablearray中的指定索引处添加对象?

时间:2013-01-14 14:37:12

标签: iphone objective-c cocoa

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

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)];

}

请提出一些实现目标的方法。

提前致谢!

2 个答案:

答案 0 :(得分: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)];
}

答案 1 :(得分:1)

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

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

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

如果您不需要保留strMutableArray

,也可以使用临时对象
NSMutableArray *strMutableArray = [NSMutableArray array];

然后您可以将对象插入NSMutableArray

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