使用一行代码重写 isEqual:
和 hash
方法
@interface Person : NSObject
@property (nonatomic, strong) NSString *firstName;
@property (nonatomic, strong) NSString *lastName;
@end
@implementation Person
equality_properties(Person, firstName, lastName);
@end
equality_properties
宏将生成 isEqual:
和 hash
方法,并且还会添加一个 isEqualToXxx:
方法(此例中为 isEqualToPerson:
)。
哈希算法来自 Mike Ash 的博客文章。
ObjectEquality 在 MIT 许可协议下提供。有关更多信息,请参阅 LICENSE 文件。