2013-02-08 23 views
0

我如何遍歷數組的兩個對象對它們進行比較,但在第二次迭代(對於OBJ2)我要排除比較對象(OBJ1)已經是找到 匹配?換句話說,我不希望他們都找到同一個對象。目標C:對於在循環訪問數組,但不包括對象

for (object *obj1 in array) 
    if (obj1 == "this") //run next iteration 
    for (object *obj2 in array) 
    // if (obj2 == @"this"); 
+0

如果你想保持你的數組中的元素獨特的,看'NSMutableSet'和'NSMutableOrderedSet'(如果也需要一個強勢整理。) –

回答

1
for(object *obj1 in array) { 
    for (object *obj2 in array) { 
     if(obj1 == obj2) continue; //this matches if the object is same 
     //do your code 
    } 
} 
+2

值得一提的是==是指針比較,只有對於完全相同的對象纔是真實的。如果你也想用相同的值相匹配對象的不同情況,使用'-isEqual:'來代替。 – indragie

+0

謝謝,這很簡單! –