iOS学习笔记--懒加载(延迟加载)

来源:互联网 发布:天津基础教育网络 编辑:程序博客网 时间:2024/05/17 03:37

懒加载又称延迟加载通过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.



0 0