我想比较2个NSMutableArray值并检查哪个indexPath不同,并将这个索引数存储在一个数组中。 例如,我有这些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];
我希望将这两个NSMutableArray索引与索引进行比较(将值与值进行比较)并告诉我这些NSMutableArrays中的哪个数组索引是不同的。例如在顶部的两个NSMutableArray中,这个索引是不同的(0,2,3,4),我希望将这些值存储在某个Array中。
答案 0 :(得分: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包含数组中的所有不同索引。 :)
答案 1 :(得分: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]];
}