他们用 Xcode 4 改变了一些东西,所以我想知道我是否需要初始化一个 NSSet
NSMutableSet *variablesUsed = [NSMutableSet set];
或者是
NSMutableSet *variablesUsed;
充足的?还是第二个选项初始化为零?这和空集一样吗?
谢谢你的帮助!
他们用 Xcode 4 改变了一些东西,所以我想知道我是否需要初始化一个 NSSet
NSMutableSet *variablesUsed = [NSMutableSet set];
或者是
NSMutableSet *variablesUsed;
充足的?还是第二个选项初始化为零?这和空集一样吗?
谢谢你的帮助!
如果您只是使用NSMutableSet *variablesUsed;
,那么您将获得一个设置为的指针,nil
因此不会指向任何类型的集合。 nil
意味着它被设置为空,并且与空集不同。您将无法获得任何功能,nil
因此您需要将 variablesUsed 设置为一些“真实”集合,以便充分利用它。
当您使用NSMutableSet *variablesUsed = [NSMutableSet set];
或NSMutableSet *variablesUsed = [[NSMutableSet alloc] init];
将指针设置为一个全新的空集时,该集已初始化并可以使用。
后者,在最新版本的运行时,将被初始化为 nil。在旧版本中,结果是未定义的,通常最好将其分配给 nil 或给它一个指向的对象。
在您的情况下,您需要在开始使用它之前对其进行初始化。