美文网首页
iOS之懒加载技术

iOS之懒加载技术

作者: 不语03 | 来源:发表于2018-07-17 17:41 被阅读0次

在iOS开发过程中,经常会用到懒加载技术,比如我们存放网络数据的数组,自定义的控件,复杂的运算逻辑等等情况下都会用到懒加载技术。下面介绍一下什么是懒加载

懒加载:

1、也被成为延迟加载,主要的特点是:用到时再加载,不用不加载,可以提高性能节约支出;

2、加载过之后就不会再次加载,节约了系统资源;

3、对于实际开发中可能会遇到的一些顺序问题,懒加载可以作为一个很好的解决方案。

懒加载的实现思路:

1、在类扩展(category)中创建一个属性;

2、重写这个属性对应的getter,将要实现的逻辑放到这个getter中;

3、考虑到懒加载只加载一次,那么在实现逻辑之前应该判断一下这个属性是否为空,为空才执行逻辑,否则直接返回这个属性。

示例代码:

/**

* 基类表单tableview

 */

@property (nonatomic, strong) XXTableView *baseTableView;

- (XXTableView *)baseTableView {

 if (!_baseTableView) {

 XXTableView *baseTableView = [[XXTableView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT- 64) style:UITableViewStylePlain];

        baseTableView.delegate = self;

        baseTableView.dataSource = self;

        baseTableView.scrollsToTop = YES;

        baseTableView.tableFooterView = [[UIView alloc] init];

        [self.view addSubview:baseTableView];

 _baseTableView = baseTableView;

    }

 return _baseTableView;

}

这是我写在基类中的表单,在子类中,需要用到的时候,直接self.baseTableView就好了,无需创建,在没调用该方法之前,baseTableView并没有创建,在调用该方法是,才进行创建,并且只创建一次。

注:有很多人在编码过程中,习惯使用OC的点语法,点语法可以很方便的帮助开发人员通过属性的getter和setter去操作成员变量,但在懒加载的编写过程中,尽量不要是用点语法,因为这个时候使用点语法一不小心很可能会导致程序进入死循环。举例:在书写懒加载的时候,if (!_baseTableView) 这里一定不能使用点语法,不然就会导致死循环;_baseTableView= baseTableView这里可以使用self.baseTableView = baseTableView,因为这里是调用的setter方法

相关文章

  • iOS开发之懒加载

    iOS开发之懒加载 在iOS开发中几乎经常用到懒加载技术,比如我们存放网络数据的数组,控制器的view,控件的自定...

  • iOS之懒加载技术

    在iOS开发过程中,经常会用到懒加载技术,比如我们存放网络数据的数组,自定义的控件,复杂的运算逻辑等等情况下都会用...

  • iOS 数组 NSArray 遍历 懒加载总结

    iOS开发之懒加载 iOS中数组遍历的方法及比较

  • Swift的懒加载和只读属性的介绍

    懒加载 在 iOS 开发中,懒加载是无处不在的 懒加载的格式如下: lazy var person: Person...

  • 前端性能优化之Lazyload

    前端性能优化之Lazyload @(冬晨)[JavaScript|技术分享|懒加载] [TOC] Lazyload...

  • iOS-UI-懒加载

    原文找不到了 iOS-UI-懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内...

  • 2018-12-21

    iOS开发中懒加载遇到的坑 正常写一个懒加载对象 - (MAMapView*)mapView{ if(nil=...

  • iOS性能优化之页面加载速率

    iOS性能优化之页面加载速率 iOS性能优化之页面加载速率

  • iOS开发之懒加载

    所谓的懒加载可以定义为:延时加载,即当对象需要用到的时候再去加载。其实就是所谓的重写对象的get方法,当系统或者开...

  • iOS 开发之懒加载

    1.懒加载基本 懒加载 -- 也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其ge...

网友评论

      本文标题:iOS之懒加载技术

      本文链接:https://www.haomeiwen.com/subject/kjygpftx.html