-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オブジェクトを挿入する前に割り当てます。

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

(ARCを使用していない場合は、終了時にリリースする必要もあります。)

または、保持する必要がない場合は、一時オブジェクトを使用することもできますstrMutableArray

NSMutableArray *strMutableArray = [NSMutableArray array];

次に、オブジェクトをに挿入できますNSMutableArray

ただし、異なる配列のインデックスと異なる配列でのインデックスの使用には注意してください。あなたがやりたいことをするためのより良い方法があるかもしれません。

于 2013-01-14T14:45:51.550 に答える
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 に答える