我有一个充满bools(表示为数字)的NSArray,我需要测试以查看数组中的任何对象是否等于1.我该怎么做?充满bool对象的NSArray
回答
BOOL不是对象。假设你的意思是表示一个像NSNumber这样的布尔值的对象,它实现了一个合适的isEqual:
,你可以做一些像[array containsObject:[NSNumber numberWithBool:YES]]
这样的事情。
哇。我不知道它可以这样使用。谢谢!!! – 2010-05-04 22:52:35
正如Chuck所说,使用-[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-summing KVC版本非常可怕。 – Chuck 2010-05-04 23:03:26
@Chuck,是的,我只是有点儿必须阅读真正的代码中的任何解决方案。虽然有趣的小功能编程脑锻炼。 – 2010-05-05 19:26:45
- 1. NSArray充满布尔
- 2. 警告时,我充满BOOL
- 3. 迭代的NSArray充满日期,比较其他的NSArray
- 4. 如何筛选充满对象
- 5. JavaScript过滤阵列充满了对象
- 6. 多维NSArray对象
- 7. 充满行和对角线
- 8. 过滤NSArray的对象
- 9. 使用NSArray中的对象
- 10. NSArray对象的NSString值
- 11. NSArray的对象和铸造
- 12. NSArray的使用对象IOS
- 13. 搜索NSArictionary对象的NSArray
- 14. 为什么我只能用一个对象填充我的NSArray?
- 15. 我将如何通过HTTP POST发送填充对象的NSArray?
- 16. initWithArray:(NSArray的*)阵列copyItems:(BOOL)标志
- 17. javascript如何从充满对象的数组中获取对象值?
- 18. NSIndexPath对象显示为NSArray对象?
- 19. PHP对象使用functionName():BOOL
- 20. 努力创造充满蓝色UIImage对象的矩形
- 21. 在NSArray中搜索对象
- 22. NSArray是否复制对象?
- 23. 将JSON对象导入NSArray
- 24. 重新分配一个bool值给NSArray
- 25. NSArray的NSArray中的对象的属性的NSPredicate
- 26. json.stringify返回空白[]一个对象,而不是一个充满{}
- 27. BOOL包装?创建一个“BOOL”值的对象。 (Objective-C)
- 28. 事件充满
- 29. CodeCahe充满java7
- 30. 从NSArray的NSDictionary对象,如何获得独特的NSArray
哟哟你的意思是布尔对象? – 2010-05-04 22:43:36
文章编辑为ans。问题 – 2010-05-04 22:46:13
您是否试图将整数添加到NSArray?因为这是无法完成的。 – 2010-05-04 22:47:51