在我的应用程序中,我想比较实体“ Workout”的2个核心数据实例。我想检查2个对象的所有属性是否具有相同的属性值。本质上,如果两个对象相同,则减去关系,即whosWorkout。没有手动检查每个属性的方法,有没有办法做到这一点?我知道我可以做:
if(object1.intAttr == object2.intAttr){
NSLog(@"This attribute is the same");
}
else{
return;
}
repeat with different attributes...
是否有任何核心数据方法可以使此过程变得更简单?
最佳答案
首先,我将像这样在isEqual
子类中创建一个Workout
方法。
-(BOOL)isEqualToWorkout:(Workout*)otherWorkout
{
return [self.attribute1 isEqual:otherWorkout.attribute1]
&& [self.attribute2 isEqual:otherWorkout.attribute2]
&& [self.attribute3 isEqual:otherWorkout.attribute3]
&& [self.attribute4 isEqual:otherWorkout.attribute4]
...;
}
然后,每当您想与
Workout
对象进行比较时,只需使用...BOOL equal = [workout1 isEqualToWorkout:workout2];
关于ios - 比较Objective-C中的2个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20413892/