是否有可用于检查数组是否包含对象的类? 我想做像
这样的事情if [(myarray doesntContain @"object")]
这是可能的
答案 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,可能是方法containsObject,this question中有一个例子。