懒加载又称延迟加载通过getter方法实现,
效果是,只有对象需要使用的时候,对象才会被加载。否则该对象永远不会被加载,也不会再用内存。
(虽然在ARC下,系统自动帮我们管理内存,但是尽可能的少使用和及时的释放内存是十分有必要的。毕竟手机的内存十分有限)
简单的介绍一下懒加载的使用:
例如我们在某个app 有一个UIimageView
<span style="font-size:14px;">@property(nonatomic,strong) UIImageView *imageView;</span>
我们实现他的getter方法
<span style="font-size:14px;">//imageView的getter方法
-(UIImageView *)imageView
{
if (_imageView==nil) {
//创建imageView 初始化大小
_imageView=[[UIImageView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-230)*0.5, CGRectGetMaxY(self.titleView.frame)+10, 230, 246)];
//设置图片
_imageView.image=[UIImage imageNamed:@"biaoqingdi"];
//加载到父控件
[self.view addSubview:_imageView];
}
return _imageView;
}</span>
当我们在什么地方用到_imageView的时候
<span style="font-size:14px;">self.imageView.image=[UIImage imageNamed:self.imageList[self.imageIndex][@"icon"]];</span>
self.imageView 就是调用_imageView的getter方法,如果没有创建,就是创建_imageView。如果创建,就直接返回创建好的_imageView.