iOS 关于懒加载

本文介绍了懒加载的概念及其在iOS开发中的应用。通过一个具体的代码示例展示了如何实现懒加载,并详细解释了其实现原理和好处,包括提高代码可读性、增强代码独立性和节省内存资源等。

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

1.懒加载基本

懒加载——也称为延迟加载,就是说,定义一个变量,我们在程序启动的时候不示例化,等到需要的时候再加载(效率低,占用内存小)。

2.用法

通常用法,你有一个UIlabel类型的property,简单定义为firstlabel,但是你不在初始化方法里为其alloc/init。

注意:所谓懒加载,写的是其get方法。如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化。

3.代码示例

//声明一个变量

@property(nonatomic,strong)UILabel *firstlabel;

@implementation YYViewController 

- (void)viewDidLoad { 

​ [super viewDidLoad]; 

[self change]; 

}


-(void)change  { 

//self.firstlabel先调用getter方法  最重要的一点是,一定要使用点语法,也就是咱们所说的getter方法。此外更需要注意在getter方法里切勿使用self.firstlabel,因为self.firstlabel会调用getter方法,造成死循环。

[self.firstlabel setText:@"我就是我"]; 

}

 

​//重写getter方法

-(UILabel *)firstlabel  { 

//判断是否已经有了,若没有,则进行实例化   这是重点,必须先判断

if (!_firstlabel) { 

_firstlabel=[[UILabel alloc]initWithFrame:CGRectMake(20, 10, 300, 30)]; 

[_firstlabel setTextAlignment:NSTextAlignmentCenter]; 

[self.view addSubview:_firstlabel]; 


return _firstlabel; 

}​

4.使用懒加载的好处:

(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强

(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合

(3)只有当真正需要资源时,再去加载,节省了内存资源。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值