0

2 つの NSMutableArray 値を比較して、どの indexPath が異なるかを確認し、このインデックス数を 1 つの配列に格納します。たとえば、私はこれらの NSMutableArray を持っています:

NSMutableArray *a = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];
NSMutableArray *b = [[NSMutableArray alloc]initWithObjects:@"11",@"2",@"5",@"3",@"53",@"6", nil];

そして、これら 2 つの NSMutableArray インデックスとインデックスを比較し (値と値を比較)、これらの NSMutableArray の配列のどのインデックスが異なるかを教えてください。たとえば、上の 2 つの NSMutableArray では、このインデックスが異なり (0,2,3,4)、この値を特定の配列に格納したいと考えています。

4

2 に答える 2

0
NSMutableArray* differentIndex;
differentIndex = [[NSMutableArray alloc] init];
for(int i = 0 ; i < [a count]; i++) {
    if(i < [b count]){
        if(![b[i] isEqual:a[i]]){
             [differentIndex addObject:[NSNumber numberWithInt:i]];
         }
    } else {
        [differentIndex addObject:[NSNumber numberWithInt:i]];
    }
}

これで、 differentIndex には配列内のすべての異なるインデックスが含まれます。:)

于 2013-05-29T13:15:42.993 に答える
0
NSMutableArray *a = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];
NSMutableArray *b = [[NSMutableArray alloc]initWithObjects:@"11",@"2",@"5",@"3",@"53",@"6", nil];
NSMutableArray *new = [[NSMutableArray alloc]init];
for(int i =0;i<[b count]<=[a count]?[b count]:[a count];i++)
{
    NSString *_keyA = [a objectAtIndex:i];
    NSString *_keyB = [b objectAtIndex:i];
    if ([_keyA isEqualToString:_keyB])
       continue;
    [new addObject:[NSString stringWithFormat:@"%d",i]];
}
于 2013-05-29T13:23:04.663 に答える