Ответ 1
Для NSArray
используйте -containsObject:
:
if (![myarray containsObject:someObject]) {
// ...
}
существует ли класс, доступный для проверки того, не содержит ли массив какой-либо объект? Я хочу сделать что-то вроде
if [(myarray doesntContain @"object")]
это возможно
Для NSArray
используйте -containsObject:
:
if (![myarray containsObject:someObject]) {
// ...
}
Если вы имеете дело с NSArray, ваш первый порт вызова должен, вероятно, быть документация Apple для NSArray и, вероятно, метод containsObject, есть пример в этом вопросе.
Я написал категорию NSArray для достижения этих отрицательных проверок с помощью методов экземпляра, как вы изначально запрашивали. Первая из них - для группы объектов массива, а вторая - для особой проверки. Они возвращают ДА в случае, если экземпляр массива НЕ содержит переданный объект или объекты. Зачем? Восклицательные знаки меня путают.
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;
}