containsobject 比较对象

来源:互联网 发布:红叶知弦本子 编辑:程序博客网 时间:2024/05/16 04:00

首先要明白:containsobject比较的是对象的内存地址而不是对象内容,所以,如果我们要比较自定义的对象内容是否相同时,需要做一些特别的处理

代码如下:

- (BOOL)isEqualToPerson:(Person *)person {if (!person) {return NO;}BOOL bIsEqualNames = (!self.name && !person.name) || [self.name isEqualToString:person.name];BOOL bIsEqualAges = self.age == person.age;return bIsEqualNames && bIsEqualAges;}#pragma mark - 重载isEqual方法- (BOOL)isEqual:(id)object {if (self == object) {return YES;}if (![object isKindOfClass:[Person class]]) {return NO;}return [self isEqualToPerson:(Person *)object];}

这样在用数组的containObject判断时就可以了

原创粉丝点击