2013-03-01 67 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]) { ... 

如果使用這種風格,只記得比較對象必須確實是正確的類。