iOS中static静态全局变量

本文探讨了在iOS开发中使用static静态全局变量的原因和特点。这类变量存储在全局区域,生命周期与程序相同,且在声明的类内可见,但在Objective-C中不能通过类名直接访问。静态变量的优势在于节省内存、可更新值以及提高时间效率,允许所有对象共享同一份更新后的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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、可提高时间效率。只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值