2013-03-01 69 views
1

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

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

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

回答

2

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

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

这就是说,如果你想弄清楚两个数组是否相等,你就是这样做的。相反,在他们所有的元素两两对比的,只是问,如果阵列是平等的:

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

一些类,如NSArray*,还提供了限制比较对象的类型专门平等的方法。它们大多只是用来为代码添加额外的语义。如果你想使用它,它看起来像

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

如果使用这种风格,只记得比较对象必须确实是正确的类。