0

我想检查我的 NSMutableArray 是否包含我的自定义对象。但如果我理解正确 contains 函数在数组中搜索相同的对象(放置在同一个内存点)

if(![objectArray containsObject:objToCheck])
{
    [objectArray addObject:objToCheck];
}       

我知道与 objToCheck 相比,objectArray 具有相同的对象和相同的变量值,但如果总是返回 false。有没有办法在不编写自定义循环并通过参数比较对象的情况下检查这一点?

4

2 回答 2

4

覆盖自定义对象的[NSObject isEqual:]方法(实际上它是NSObject协议的一部分),并检查任何对您有意义的实例变量,以使对象被视为相等。

这是关于该主题的 Apple Cocoa Competency文章。

于 2013-05-16T08:12:11.343 回答
0

您可以尝试从您的数组中创建一个临时 NSSet 并针对它进行测试以获取成员资格。

于 2013-05-16T08:28:08.583 回答