是否不需要使用alloc和initialise关键字声明NSInteger?为什么?
我正在尝试做NSInteger * choice = [[NSInteger alloc] init];我发现直接分配
答案 0 :(得分:2)
NSInteger只是int或long的typedef(取决于平台)
所以你可以初始化类似的东西
NSInteger i = 10;
引用SDK文档
NSInteger的 用于描述整数。
typedef long NSInteger;
构建32位应用程序时,NSInteger是一个32位整数。 64位应用程序将NSInteger视为64位整数。
答案 1 :(得分:1)
NSInteger不是Objective-C对象。它是一种数据类型(很像C的int
或char
类型)。您无需为其调用“alloc
”(以显式分配内存空间)。
您可以阅读其他Objective-C数据类型(例如NSRange
,一旦进入NSString 对象,您将会大量使用)in this Apple documentation