检查数组是否包含某个对象

时间:2010-08-21 10:06:31

标签: objective-c nsarray

是否有可用于检查数组是否包含对象的类? 我想做像

这样的事情
if [(myarray doesntContain @"object")]

这是可能的

3 个答案:

答案 0 :(得分:98)

NSArray使用-containsObject:

if (![myarray containsObject:someObject]) {
    // ...
}

答案 1 :(得分:1)

我编写了一个NSArray类,通过实例方法实现这些否定检查,就像你最初要求的那样。第一个用于数组类型的对象组,后者用于单个检查。如果数组实例不包含传递的一个或多个对象,则返回YES。为什么?惊叹号让我感到困惑。

的NSArray + Additions.h

-(BOOL)doesNotContainObjects:(id<NSFastEnumeration>)enumerable;

-(BOOL)doesNotContainObject:(id)object;

的NSArray + Additions.m

-(BOOL)doesNotContainObjects:(id<NSFastEnumeration>)enumerable {
   for (id x in enumerable) {
     if ([self containsObject:x]) return NO; // exists, abort!
   }
   return YES;   // it ain't in there, return TRUE;
}
- (BOOL)doesNotContainObject:(id)object {
  if ([self containsObject:object]) return NO; return YES;
}

答案 2 :(得分:0)

如果您正在处理NSArray,您的第一个停靠点可能应该是Apple documentation for NSArray,可能是方法containsObjectthis question中有一个例子。

相关问题