isEqual
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了isEqual相关的知识,希望对你有一定的参考价值。
1 NSString *str1 = @"123"; 2 NSString *str2 = [NSString stringWithFormat:@"%@", str1]; 3
大家明白, str1和str2在内存中的地址是不一样的.
如果用 isEqual:比较两者, 明显返回值为 NO;
为了我们使用方便, 我在.m实现中, 对isEqual进行了重写, 按照str1 和 str2的值来比较:
1 /** 2 * 常用来比较两个对象是否是否一样 3 * 4 * @另外一个对象 (内存地址一样才相等) 5 */ 6 - (BOOL)isEqual:(PPEmotionModel *)object 7 { 8 // if ([self.chs isEqualToString:object.chs] || [self.code isEqualToString:object.code]) 9 // { 10 // return YES; 11 // }else{ 12 // return NO; 13 // } 14 return [self.chs isEqualToString:object.chs] || [self.code isEqualToString:object.code]; 15 }
注意: 内存的分布!!!
所以在删除数组中重复元素(可以是对象)的时候, 可以直接移除
1 [Emotions removeObject:emotion];
以上是关于isEqual的主要内容,如果未能解决你的问题,请参考以下文章