判等

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:

*/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容