NSString:isEqual 与 isEqualToString [英] NSString: isEqual vs. isEqualToString
问题描述
isEqual:
和 isEqualToString:
有什么区别?
为什么类要添加 isEqualTo* 方法(NSArray 的 isEqualToArray,NSData 的 isEqualToData,...)而不是仅仅覆盖 isEqual:
?
Why are classes adding isEqualTo* methods (isEqualToArray for NSArray, isEqualToData for NSData, ...) instead of just overriding isEqual:
?
推荐答案
isEqual:
将字符串与对象进行比较,如果对象不是一个对象,则返回 NO
细绳.isEqualToString:
如果您知道两个对象都是字符串,则速度会更快,如 文档 状态:
isEqual:
compares a string to an object, and will return NO
if the object is not a string. isEqualToString:
is faster if you know both objects are strings, as the documentation states:
特殊注意事项
当您知道两个对象都是字符串时,此方法是比 isEqual:
更快的检查相等性的方法.
When you know both objects are strings, this method is a faster way to check equality than isEqual:
.
isEqualTo
用于提供特定的相等性检查.例如;isEqualToArray:
检查数组是否包含相同数量的对象,并且给定索引处的对象对于 返回
测试.YES
isEqual:
isEqualTo<Class>
is used to provide specific checks for equality. For instance; isEqualToArray:
checks that the arrays contain an equal number of objects, and that the objects at a given index return YES
for the isEqual:
test.
这篇关于NSString:isEqual 与 isEqualToString的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!