我有一個充滿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的充滿UIImages
- 2. NSArray充滿布爾
- 3. 警告時,我充滿BOOL
- 4. 迭代的NSArray充滿日期,比較其他的NSArray
- 5. NSArray的對象
- 6. JavaScript過濾陣列充滿了對象
- 7. fetchedResultsController.fetchedObjects.count = 0,但它充滿了對象
- 8. 如何篩選充滿對象
- 9. JSON對象的NSArray
- 10. 填充空對象數組用充滿隨機在C#
- 11. 多維NSArray對象
- 12. 充滿了對特定ID
- 13. 充滿行和對角線
- 14. NSArray的對象和鑄造
- 15. NSArray的使用對象IOS
- 16. 過濾NSArray的對象
- 17. 搜索NSArictionary對象的NSArray
- 18. 使用NSArray中的對象
- 19. NSArray對象的NSString值
- 20. 從NSArray傳遞Objective-C對象到NSArray
- 21. Simple NSArray - 將對象置於前面NSArray
- 22. 爲什麼我只能用一個對象填充我的NSArray?
- 23. 我將如何通過HTTP POST發送填充對象的NSArray?
- 24. 創建充滿對象的新實例的列表
- 25. initWithArray:(NSArray的*)陣列copyItems:(BOOL)標誌
- 26. 充滿
- 27. javascript如何從充滿對象的數組中獲取對象值?
- 28. NSIndexPath對象顯示爲NSArray對象?
- 29. PHP對象使用functionName():BOOL
- 30. 覆蓋 - (BOOL)isEqual:(id)對象
喲喲你的意思是布爾對象? – 2010-05-04 22:43:36
文章編輯爲ans。問題 – 2010-05-04 22:46:13
您是否試圖將整數添加到NSArray?因爲這是無法完成的。 – 2010-05-04 22:47:51