我有一个名为 car 的模型对象,它具有以下属性
- 姓名
- 颜色
- 类型
在一个数组(名称:oldArray)中,我有几个汽车对象。在一个常见的间隔中,我将访问一个 API 并获取另一个包含多个汽车对象的数组(名称:newArray)。我需要比较两个数组并获取唯一项目列表并将其显示给用户。
条件。1. 如果 newArray 中的对象不在 oldArray 中,那么我需要通知用户他有一辆新车以及汽车名称 2. 如果 oldArray 中的对象不在 newArray 中,那么我需要通知用户他已经卖掉了他的汽车以及汽车名称
我创建了以下方法
- (NSMutableArray *)getModifiedUserCarsFrom:(NSMutableArray *)savedCars NewCars:(NSMutableArray *)newCars {
NSMutableArray *loopArray1;
NSMutableArray *loopArray2;
NSMutableArray *modifiedCars = [NSMutableArray array];
if (newCars.count >= savedCars.count) {
loopArray1 = newCars;
loopArray2 = savedCars;
} else {
loopArray1 = savedCars;
loopArray2 = newCars;
}
for (Car *old in loopArray1) {
BOOL isCarExist = NO;
for (Car *new in loopArray2) {
if ([new.name isEqualToString:old.name]) {
isCarExist = YES;
break;
}
}
if (!isCarExist) {
[modifiedCars addObject:olde];
}
}
return modifiedCars;
}
还有比这更好更快的方法吗?任何意见和建议表示赞赏。