1.static的作用:
(1).限制变量的作用域。
(2).设置变量的储存域
在函数体,一个被申明为静态的变量在这一个函数被调用的过程中维持值不变。
- (void)changeAge {
static int age1 = 10;
NSLog(@"输出age1 - 1 = %d ", age1 - 1);
}
在模块内(但在函数体外)一个被申明为静态变量可以被模块内所有函数访问,但不能被其他模块内的函数访问
#import "Person.h"
static int age2 = 20;
@implementation Person
在模块内,一个被申明为静态的函数,只可以被在这个模块内的其他函数访问
(3).static申明的变量储存在内存中得静态储存区内,这块内存在程序运行期间都存在所以这就保证了static变量的唯一性和持久性
(4).static变量只在程序开始执行时初始化一次,并在多次调用的时候保存这些值