检查空NSSet?

fuz*_*oat 15 objective-c

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

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

// Code to do things...

// Check for empty set?

[setEmpty release];
Run Code Online (Sandbox Code Playgroud)

加里

Mal*_*eur 26

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

if ([setEmpty count] == 0) {
Run Code Online (Sandbox Code Playgroud)

要么

if (![setEmpty count]) {
Run Code Online (Sandbox Code Playgroud)

等等...

我没有在http://developer.apple.com/mac/library/documentation/cocoa/Reference/Foundation/Classes/NSSet_Class/Reference/Reference.html上看到明确的'isEmpty'方法,但如果它存在,请转到而不是检查计数.

  • 如果你经常使用它,可以在`NSSet`上添加一个`isEmpty`方法作为一个类,它的体类如` - (BOOL)isEmpty {return [self count] == 0; }`. (2认同)

qua*_*rac 6

对于非常大的套装,这个怎么样?目标是不要每次都进行计数。

NSSet *mySet = ...

if ([mySet anyObject] == nil)
{
    // The set is empty
}
Run Code Online (Sandbox Code Playgroud)