IOS:个人笔记|UI__懒加载及其要注意的地方
懒加载,在需要对象的时候才去加载,全局只会被加载一次,全局可以使用。一般使用懒加载的对象都是全局变量,例如某个UI对象。
通常是重写该成员变量的get方法,先判断对象是否为空,如果为空,则创建,设置属性等等。如果不为空,则直接返回该对象。
使用懒加载的好处是每个对象的get方法负责其实例化,该用到的时候再加载。代码整体可读性好。彼此间独立性强。
注意在对象的getter方法里,切勿使用self.XX,假如下面如果用self.view addSubview:self.label,后面的self.label又调用label的getter方法,就会造成死循环。
另外在实际的开发中切勿滥用懒加载,只要是个对象就写成懒加载的形式,这样其实显得有点累赘。如果某对象是偶尔使用,那么我们就可以使用懒加载。
下面是一个懒加载的简单例子
1 @property(strong,nonatomic)UILabel *label;
2 -(UILabel *)label{ 3 if(!_label) 4 { 5 _label=[[UILabel alloc]initWithFrame:CGRectMake(20, 20, 100, 40)]; 6 _label.text=@"加载"; 7 _label.textColor=[UIColor redColor]; 8 [self.view addSubview: _label]; 9 } 10 return _label; 11 }