在我的应用程序中,我想比较实体“ 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/

10-12 01:32