isEqual:isEqualToString:有什么区别?

为什么类要添加isEqualTo *方法(对于NSArray是isEqualToArray,对于NSData是isEqualToData,...),而不是仅仅覆盖isEqual:

最佳答案

isEqual:将字符串与对象进行比较,如果对象不是字符串,则将返回NO。如果您知道两个对象都是字符串,则isEqualToString:会更快,因为documentation指出:


isEqualTo<Class>用于提供对相等性的特定检查。例如; isEqualToArray: 检查数组是否包含相等数量的对象,并检查给定索引处的对象是否为YES测试返回isEqual:

10-08 19:18