2个数组对象是否相等?

时间:2015-03-03 16:09:29

标签: objective-c nsarray

我正在尝试查找paket2是否包含来自paket1的任何对象。我试过这段代码:

//assume paket1 and paket2 are 2 NSArrays
            int n;
            int m;
            for (n=0; n<[paket1 count]; n++) {
                for (m=0; m<[paket2 count]; m++) {
                    if (paket1[n]==paket2[m] ) {
                        NSLog(@"some message");
                    }else{
                        NSLog(@"bruhuhuhu");
                    }
                }
            }

但我觉得==运算符只是检查2个内存地址是否相等。我想检查数组对象的值。你们能指导我怎么做吗?

2 个答案:

答案 0 :(得分:2)

使用isEqual:

        for (int n=0; n<paket1.count; n++) {
            for (int m=0; m<paket2.count;m++) {
                if (paket1[n] isEqual: paket2[m] ) {
                    NSLog(@"some message");
                }else{
                    NSLog(@"bruhuhuhu");
                }
            }
        }

答案 1 :(得分:1)

假设数组中的对象实现了isEqual:方法:

[paket1[n] isEqual:paket2[m]]