Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C:用于迭代但排除数组中的对象_Objective C - Fatal编程技术网

Objective c 目标C:用于迭代但排除数组中的对象

Objective c 目标C:用于迭代但排除数组中的对象,objective-c,Objective C,如何迭代两个对象的数组以进行比较,但在第二次迭代(对于obj2)时,我希望排除对已找到的对象(obj1)的比较 匹配?换句话说,我不希望他们两人都找到同一个对象 for (object *obj1 in array) if (obj1 == "this") //run next iteration for (object *obj2 in array) // if (obj2 == @"this"); 值得注意的是==是指针比较,它只对完全相同的对象有效。如果还

如何迭代两个对象的数组以进行比较,但在第二次迭代(对于obj2)时,我希望排除对已找到的对象(obj1)的比较 匹配?换句话说,我不希望他们两人都找到同一个对象

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

值得注意的是==是指针比较,它只对完全相同的对象有效。如果还想匹配具有相同值的对象的不同实例,请改用
-isEqual:
。如果要保持数组元素的唯一性,请查看
NSMutableSet
NSMutableOrderedSet
(如果还需要强顺序)
for(object *obj1 in array) {
    for (object *obj2 in array) {
        if(obj1 == obj2) continue; //this matches if the object is same
        //do your code
    }
}