在Objective-c中使用Static

Rui*_*res 7 c static objective-c static-variables

注意:我的问题与无关.

除了在文件外部看不到变量之外,在内存分配方面,声明它(在方法之外)之间是否有任何区别:

NSString *const kMyConstant = @"Hello World";
Run Code Online (Sandbox Code Playgroud)

或这个:

static NSString *const kMyConstant = @"Hello World";
Run Code Online (Sandbox Code Playgroud)

小智 2

就内存分配而言,没有区别。这两个变量都是指向同一个字符串常量的指针,都分配一次,并且在这两种情况下,它们的生命周期都是程序的生命周期。