Я написал категорию 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;
}