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];

 

转载于:https://www.cnblogs.com/guangleijia/p/5161818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值