static关键字作用

static的使用

(1)声明变量前面加static可以声明一个静态变量,如:

 static int count  =  1;

count变量只在程序开始执行时初始化一次,并在多次调用方法时保存这些数值,默认初始化为0;

另外,static修饰的变量存储在内存中的静态存储区,这块内存在程序的程序运行期间都存在。所以,这个就保证了static变量的唯一性和持久性。

(2)static可以定义在方法中使用,并且只初始化一次。

(3)static变量不能写在interface里面,会直接报错。static变量只能放在方法里面或者放在implementation外面(通常放在implementation文件开始处),这样所有的方法都可以访问它们。文件中包含的所有实例或者类方法都可以访问这个变量。但是此时类之外是不能访问到这个变量的,相当于私有的。(OC里面定义在.m的变量、对象一般都是“私有”,公共的一般定义在.h中)。

(4)如果在.m的文件和方法体里面都定义了同名的static 变量,那么方法体里面的实例变量和全局的static的变量是不会冲突的,它们最终会被编译器编译为不同的变量,然实际的开发中应该尽量避免这种情况。

(5)static与单例设计模式

单例设计模式是开发中最为常见的一种设计模式,其中主要就是单例设计模式采取了对象的静态化,让单例对象保持唯一性和持久性,可以伴随程序的运行而运行,达到向多个controller传值的效果。所以,单例一般被用作管理类等开发实例中。

你可能感兴趣的:(ios,关键字,static,ios关键字)