Tôi có một NSArray đầy bools (được biểu thị bằng một số), và tôi cần kiểm tra xem có đối tượng nào trong mảng bằng 1. Làm thế nào tôi có thể làm điều đó?NSArray đầy với các đối tượng bool
Trả lời
BOOL không phải là đối tượng. Giả sử bạn có nghĩa là một số đối tượng đại diện cho một boolean như NSNumber thực hiện một thích hợp isEqual:
, bạn chỉ có thể làm một cái gì đó như [array containsObject:[NSNumber numberWithBool:YES]]
.
wow. Tôi không biết nó có thể được sử dụng như thế. Cảm ơn!!! –
Như Chuck nói, hãy sử dụng -[NSArray containsObject:[NSNumber numberWithBool:YES]]
. Là một thí nghiệm tưởng tượng, đây là một số cách khác để hoàn thành mục tiêu ...
Bạn có thể làm điều này bằng một NSPredicate
hoặc sử dụng các khối API mới:
NSArray *myArr //decleared, initialized and filled
BOOL anyTrue = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"boolValue == 1"]].count > 0;
hoặc
BOOL anyTrue = [myArray indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) {
if([obj boolValue]) {
*stop = YES;
}
return [obj boolValue];
}].count > 0;
Bạn cũng có thể sử dụng mã hóa Khóa-giá trị, mặc dù tôi không chắc chắn về hiệu quả tương đối của nó:
[[myArray valueForKeyPath:@"@sum.boolValue"] integerValue] > 0;
Phiên bản KVC bool-summing đó vô cùng đáng sợ. – Chuck
@Chuck, vâng, tôi sẽ chỉ là một chút e ngại khi phải đọc bất kỳ giải pháp nào trong mã thực. Tuy nhiên, ít tập luyện não lập trình chức năng thú vị. –
- 1. NSArray đối tượng và Đúc
- 2. Đối tượng đa chiều NSArray
- 3. fetchedResultsController.fetchedObjects.count = 0 nhưng nó đầy các đối tượng
- 4. Lọc một NSArray chứa tùy chỉnh các đối tượng
- 5. NSSet để NSArray gọi đối tượng castingAtIndex?
- 6. NSArray có sao chép các đối tượng không?
- 7. Đối tượng tại chỉ số trong NSArray
- 8. Với một NSArray của các tham chiếu đối tượng, tôi có thể giải phóng tất cả các đối tượng trong mảng hoặc chỉ mảng đó không?
- 9. Cách sắp xếp NSArray với các đối tượng từ điển theo thứ tự abc?
- 10. Cách tìm đối tượng thuộc loại nào đó trong NSArray?
- 11. Khởi tạo mảng đối tượng sử dụng NSArray
- 12. JSON.NET đối với các đối tượng C#
- 13. NSArray: thêm nhiều đối tượng có cùng giá trị
- 14. Làm thế nào để sử dụng NSArray của đối tượng NSArray trong mục tiêu c?
- 15. Giống như Python làm đầy các đối tượng Javascript đầy đủ
- 16. đối tượng Subtract trong một NSArray từ một mảng
- 17. cách thêm đối tượng đa NSArray vào một NSMutableArray
- 18. Số lượng đối tượng tối đa trong NSArray
- 19. Đối tượng RESTKit Thuộc tính BOOL thành true/false JSON
- 20. VARIANT_BOOL so với BOOL
- 21. đối tượng Insert mới với đối tượng
- 22. trích xuất các thuộc tính từ NSArray của các đối tượng
- 23. Lợi thế của Monitor.Enter (đối tượng, ref bool) trên Monitor.Enter (đối tượng) là gì?
- 24. Chiếu đối tượng đầy đủ với các giá trị bổ sung trong LINQ
- 25. MVC 3 AJAX Post, Danh sách đầy các đối tượng, nhưng các thuộc tính đối tượng là trống
- 26. Điều gì xảy ra với đối tượng NSArray khi mã hóa?
- 27. Cách tốt nhất để sắp xếp một NSArray của các đối tượng NSDictionary?
- 28. Làm cách nào để thêm các đối tượng CGPoint vào NSArray một cách dễ dàng?
- 29. NSArray riêng vào một danh sách các loại NSString đối tượng
- 30. iPhone - nhận các giá trị duy nhất từ đối tượng NSArray
làm gì yo u có nghĩa là bởi đối tượng bool? –
bài đăng được chỉnh sửa thành ans. question –
Bạn đang cố gắng thêm int vào NSArray? vì không thể làm được. –