.equals()等价

时间:2013-03-01 00:04:32

标签: objective-c

在java中有一个.equals()方法。 Objective-C中的等价物是什么,因为我不想使用==?

例如,如果我想比较两个数组,我会浏览它们并查看它们的对象是否匹配。

for (int i = 0; i < array1.count; i++) {
    if (array1[i].equals(array2[i])) {
      do something
      }
}

1 个答案:

答案 0 :(得分:2)

对您的问题的严格回答是“使用-isEqual:”。

if ([array1[i] isEqual:array2[i]]) { ...

那就是说,如果你想弄清楚两个数组是否相等,那么你的做法是错误的。不要对所有元素进行成对比较,只要询问数组是否相等:

if ([array1 isEqual:array2]) { ...

某些类(如NSArray*)也提供了限制比较对象类型的专用相等方法。它们主要用于为代码添加额外的语义含义。如果你想使用它,它看起来像

if ([array1 isEqualToArray:array2]) { ...

如果您使用此样式,请记住,比较对象必须确实是正确的类。