У меня есть NSArray, заполненный bools (выраженный как число), и мне нужно проверить, нет ли какого-либо объекта в массиве равным 1. Как я могу это сделать?NSArray, заполненный объектами bool
ответ
BOOLs не являются объектами. Предполагая, что вы имеете в виду некоторый объект, представляющий логический тип NSNumber, который реализует правильный isEqual:
, вы можете просто сделать что-то вроде [array containsObject:[NSNumber numberWithBool:YES]]
.
ничего себе. Я не знал, что это можно использовать так. Благодаря!!! –
Как Чак говорит, используйте -[NSArray containsObject:[NSNumber numberWithBool:YES]]
. В мысленном эксперименте, вот некоторые другие пути для достижения цели ...
Вы можете сделать это с помощью NSPredicate
или с использованием новых блоков API:
NSArray *myArr //decleared, initialized and filled
BOOL anyTrue = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"boolValue == 1"]].count > 0;
или
BOOL anyTrue = [myArray indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) {
if([obj boolValue]) {
*stop = YES;
}
return [obj boolValue];
}].count > 0;
Вы также можете использовать кодировку Key-Value, хотя я не уверен в ее относительной эффективности:
[[myArray valueForKeyPath:@"@sum.boolValue"] integerValue] > 0;
То, что Bool-суммирующая версия KVC искусно пугает. – Chuck
@ Чак, да, я бы просто немного разозлился, чтобы прочитать любое из этих решений в реальном коде. Однако веселое функциональное программирование мозга. –
- 1. Преобразовать массив, заполненный объектами
- 2. Значения NSArray и bool
- 3. NSArray с объектами Ios
- 4. Заказать NSArray с объектами
- 5. NSArray с несколькими объектами
- 6. Поиск NSArray, заполненный JSON для определенного заголовка
- 7. Сортировать NSArray с пользовательскими объектами
- 8. Как отсортировать NSArray с объектами
- 9. Как отсортировать NSMutableArray, заполненный моими собственными объектами
- 10. initWithArray: (NSArray *) массив copyItems: (BOOL) флаг
- 11. NSArray initWithObjects инициализируется только некоторыми объектами
- 12. Отображение RestKit с объектами NSDictionary и NSArray
- 13. NSArray с пользовательскими объектами в NSTableDataSource
- 14. Управление памятью какао NSArray с объектами
- 15. Фильтрация в NSArray с пользовательскими объектами
- 16. NSArray с объектами пользовательского интерфейса (Performance)
- 17. Работа с несколькими объектами в NSArray
- 18. создать NSArray с объектами NSDictionary от макро
- 19. Добавить событие click в список, заполненный объектами в коде
- 20. Как отсортировать массив, заполненный объектами, на основе двух значений объекта?
- 21. Как реализовать массив, заполненный объектами внутри класса в VBA
- 22. Итерация через многомерный массив Javascript, заполненный объектами маркеров Google Maps
- 23. Самый чистый способ связать свойство BOOL со всем NSArray
- 24. Скопируйте NSArray и замените текстовые элементы на значения bool
- 25. Изменение свойства в NSArray
- 26. Cocoa Bindings + NSArray + пользовательский класс
- 27. Как отсортировать NSArrays объектами внутри объектов внутри NSArray?
- 28. Как отсортировать NSArray со словарными объектами в алфавитном порядке?
- 29. сравнение объектов в NSSet с объектами в NSArray
- 30. Как я могу отправить NSArray с объектами через HTTP POST?
что делать лет u означает объект bool? –
сообщение отредактировано ans. question –
Вы пытаетесь добавить ints к NSArray? потому что это невозможно. –