let str1 = "字符串1"
let str2 = "字符串1"
let str3 = "字符串3"
let result1 = str1 == str2 // true
let result2 = str1 == str3 // false
/*
OC 中的 == 是判断两个对象是否指向同一块内存地址 即 isEqual:的第一步,
isEqual: 首先判断 == 即是否指向同一个地址,如果是,直接 返回 yes
如果地址不等于,会判断是否是同类对象或者非空,空货非同类对象直接返回 no
而后一次判断对象对应的属性是否相等,若都相等,返回 yes
即 仅判断地址是否相等 使用 == , 这个最严格
其次是是 isEqual: 比 == 宽松写,放宽了条件,即使地址不相等,其他所有属性都相等,也返回 true
isEqualToString: 是 NSString 的方法
Swift中的 == 是操作符, 对于 NSOjbect 的子类来说,相当于比较对象地址,即 OC 中的 isEqual:
*/
网友评论