Objective c 检查空NSSet?

Objective c 检查空NSSet?,objective-c,Objective C,有没有办法检查集合是否为空 NSMutableSet *setEmpty = [[NSMutableSet alloc] init]; // Code to do things... // Check for empty set? [setEmpty release]; gary您可以使用[setEmpty count]查看集合中有多少元素。。。因此: if ([setEmpty count] == 0) { 或 等等 我没有在上看到显式的“isEmpty”方法,但如果它存在,请使用它

有没有办法检查集合是否为空

NSMutableSet *setEmpty = [[NSMutableSet alloc] init];

// Code to do things...

// Check for empty set?

[setEmpty release];

gary

您可以使用[setEmpty count]查看集合中有多少元素。。。因此:

if ([setEmpty count] == 0) {

等等

我没有在上看到显式的“isEmpty”方法,但如果它存在,请使用它,而不是检查计数

…以下是我的共享存储库中使用最多的一个文件: DMCommonMacros.h static inline BOOL IsEmpty(id thing) { return thing == nil || ([thing respondsToSelector:@selector(length)] && [(NSData *)thing length] == 0) || ([thing respondsToSelector:@selector(count)] && [(NSArray *)thing count] == 0); } 静态内联BOOL为空(id thing){ 返回事物==零 ||([事物响应选择器:@selector(length)] &&[(NSData*)事物长度]==0) ||([事物响应选择器:@selector(count)] &&[(NSArray*)事物计数]==0); } -


此函数将用于所有Cocoa容器、字符串和NSData。

对于真正大的集合,此函数如何?目标是不要每次都进行计数

NSSet *mySet = ...

if ([mySet anyObject] == nil)
{
    // The set is empty
}

这是一项相当简单的任务。你应该养成看文档的习惯,看看这些答案。嗨,布拉德,我确实检查了文档,但是错过了计数的条目。我犯了更多的错误,而不是疯狂的懒惰。谢谢你Malaxer,完美我在文档和Xcode自动完成中都找到了,但两次都没有找到:(我不认为存在“isEmpty”,因为我在测试它时遇到了一个缺少的方法错误。不管怎样,count是完美的,感谢您的回答和您的时间。如果您经常使用它,您可以在
NSSet
上添加一个
isEmpty
方法作为一个类别,像
-(BOOL)这样的主体是空的{return[self count]==0;}
NSSet *mySet = ...

if ([mySet anyObject] == nil)
{
    // The set is empty
}