我有一个庞大的array=["1","2","3","4","5","6"]
,随着时间的推移。例如:array=["1","2","3","4","5","6","10","11"]
。如何知道是否添加新元素NSArray
如何知道两个元素添加到大量?在本例中,添加了新的元素是10和11
我有一个庞大的array=["1","2","3","4","5","6"]
,随着时间的推移。例如:array=["1","2","3","4","5","6","10","11"]
。如何知道是否添加新元素NSArray
如何知道两个元素添加到大量?在本例中,添加了新的元素是10和11
试试这个,
NSArray *array1 = @[@"1",@"2",@"3",@"4",@"5",@"6"];
NSArray *array2 = @[@"1",@"2",@"3",@"4",@"5",@"6",@"10",@"11"];
NSMutableArray *addedArray = [NSMutableArray array];
for(int i = 0; i < [array2 count]; i++)
{
if (![array1 containsObject:[array2 objectAtIndex:i]]) {
[addedArray addObject:[array2 objectAtIndex:i]];
}
}
NSLog(@"New elements is added: %@", addedArray);
输出:
New elements is added:
(
10,
11
)
'indexesOfObjectsPassingTest:'更快。 – Willeke
所以基本上你只需要删除旧的元素,并显示新元素。
您可以通过使用NSMutableArray
i.e.
NSArray *oldArray = @[@"1",@"2",@"3",@"4",@"5",@"6"];
NSArray *newArray = @[@"1",@"2",@"3",@"4",@"5",@"6",@"10",@"11"];
NSMutableArray *result = [newArray mutableCopy]; // make sure you make it a mutable copy
// remove the existing elements
[result removeObjectsInArray:oldArray];
NSLog(@"remaining entry: %@",result);
@[10,11];
这真的很难明白你问什么的
removeOjbectsInArray
方法试试。 – marmeladze