Có cách nào để kiểm tra xem tập hợp có trống không?Kiểm tra NSSet trống?
NSMutableSet *setEmpty = [[NSMutableSet alloc] init];
// Code to do things...
// Check for empty set?
[setEmpty release];
gary
Có cách nào để kiểm tra xem tập hợp có trống không?Kiểm tra NSSet trống?
NSMutableSet *setEmpty = [[NSMutableSet alloc] init];
// Code to do things...
// Check for empty set?
[setEmpty release];
gary
Bạn có thể sử dụng [setEmpty count] để xem có bao nhiêu yếu tố này nằm trong bộ ... vậy:
if ([setEmpty count] == 0) {
hoặc
if (![setEmpty count]) {
, vv ..
Tôi không thấy người khám phá Phương thức t 'isEmpty' trên http://developer.apple.com/mac/library/documentation/cocoa/Reference/Foundation/Classes/NSSet_Class/Reference/Reference.html nhưng nếu nó tồn tại, hãy thực hiện thay vì kiểm tra số đếm.
Cảm ơn bạn Malaxeur, hoàn hảo Tôi tìm kiếm rằng cả trong tài liệu và trong Xcode tự động hoàn thành và bỏ lỡ nó cả hai lần: (Tôi không nghĩ rằng có một 'isEmpty' như tôi đã có một lỗi phương pháp thiếu khi thử nghiệm nó. – fuzzygoat
Nếu bạn sử dụng nó rất nhiều, bạn có thể thêm phương thức 'isEmpty' làm một thể loại trên' NSSet', mà một phần tử giống như '- (BOOL) isEmpty {return [tự tính] == 0;} '. – mipadi
... đây là các tập tin đơn nhất được sử dụng trong kho lưu trữ chia sẻ của tôi: DMCommonMacros.hstatic inline BOOL IsEmpty(id thing) { return thing == nil || ([thing respondsToSelector:@selector(length)] && [(NSData *)thing length] == 0) || ([thing respondsToSelector:@selector(count)] && [(NSArray *)thing count] == 0); }
Chức năng này sẽ làm việc trên tất cả các container Cocoa, chuỗi, và NSData.
Điều gì về điều này cho bộ thực sự lớn? Mục tiêu là không đếm mỗi lần.
NSSet *mySet = ...
if ([mySet anyObject] == nil)
{
// The set is empty
}
Đây là một nhiệm vụ khá đơn giản. Bạn nên có thói quen nhìn vào các tài liệu cho câu trả lời như thế này. –
Xin chào Brad, tôi đã kiểm tra tài liệu, nhưng đã bỏ lỡ mục nhập để đếm. Thêm lỗi về phần của tôi hơn là lười biếng tràn lan. – fuzzygoat