我使用以下方法删除了双打,但是并不能完全起作用。有什么建议么?
感谢您的帮助,
-(NSMutableArray*)removeDuplicateCars:(NSMutableArray*)array{
NSMutableArray *noDuplicates =[[NSMutableArray alloc]init];
for (int i=0; i<[array count]; i++) {
int counter =0;
Car *car =(Car*)[array objectAtIndex:i];
if ([noDuplicates count]==0) {
[noDuplicates addObject:car];
}
for (int i=0; i<[noDuplicates count]; i++) {
Car *car2 =(Car*)[array objectAtIndex:i];
if (![car.name isEqualToString:car2.name]) {
counter++;
}
}
if (counter==[noDuplicates count]) {
[noDuplicates addObject:car];
}
}
NSLog(@"number of results = %i",[noDuplicates count]);
return noDuplicates;
}
最佳答案
创建一个名为“ addedCars”的数组-您将使用它存储每个唯一汽车的名称。
在每次迭代中,使用[NSArray containsObject:]检查当前名称是否已添加到“ addedCars”中。如果不是,则将名称添加到“ addedCars”,并将汽车添加到“ noDuplicates”。否则,请跳过此项目,因为它已被添加到noDuplicates中。