iOSiOS开发经验iOS Developer

Objective-C中 ==、isEqual、isEqualT

2015-08-21  本文已影响4588人  sellse
Objective-C中 ==、isEqual、isEqualToString判断字符串相等

在判断一个字符串类型的变量是否与某字符时相等,你可能写下这样一行代码

    if (activityType == @"0"){}  //activityType是某一个变量名

然后你会得到这样一行黄色提醒

    Fixing “direct comparison of a string literal has undefined behavior”

原因在于

那么很自然可以想到使用用isEqualisEqualToString方法,这两者也是有区别的:

如果两个对象是相等的,那么他们必须有相同的哈希值

如果知道了两个对象都是字符串,isEqualToStringisEqual要快

所以以上代码应该写成

    if (activityType isEqualToString @"0"){}
上一篇 下一篇

猜你喜欢

热点阅读