#import "Region.h"static NSMutableArray *provinceList = nil;static NSMutableArray *cityList = nil;static NSMutableArray *districtList = nil;@interface Region ()@end@implementation Region
从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用static。
它是存于全局变量区,生命周期和程序相同,static只在声明的类中可见。在声明的类中结束后,再次使用还是之前的值。在Objective-C 的语法中声明后的static静态变量在其他类中是不能通过类名直接访问的,它的作用域只能是在声明的这个.m文件中 。不过可以调用这个类的方法间接的修改这个静态变量的值
static关键字声明的变量只在程序开机初始化一次(并不是该类实例化后才初始化的)将static静态变量写在方法中,它的初始化也是在程序开机时,程序一旦启动以后static是不能再创建的。
静态变量的优点:
1、节省内存。静态变量只存储一处,但供所有对象使用。
2、它的值是可以更新的。
3、可提高时间效率。只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。