懒加载

非 Y 不嫁゛ 提交于 2019-12-17 06:25:15

懒加载的定义:
 
      所谓的懒加载可以定义为:
         延时加载,即当对象需要用到的时候再去加载。其实就是所谓的重写对象的get方法,
         当系统或者开发者调用对象的get方法时,再去加载对象。
 
   懒加载的优点:
 
      1.不需将对象的实例化写到viewDidLoad,可以简化代码,增强代码的可读性
 
      2.对象的实例化在getter方法中,各司其职,降低耦合性
 
      3.对系统的内存占用率会减小,只有当真正需要资源时,再去加载,节省了内存资源

   使用懒加载注意事项:
 
      1.重写get方法时,先判断对象当前是否为空,为空的话再去实例化对象
 
      2.需要注意在getter方法里切勿使用self.shopData,因为self.shopData会调用getter方法,造成死循环
 
   什么时候使用懒加载:
 
     1.为什么要使用懒加载:
      
          (1)这是苹果公司提倡的做法,其实苹果公司做的IOS系统中很多地方都用到了懒加载的方式,比如控制器的View的创建。
 
          (2)我们知道iOS设备的内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么就有可能会耗尽iOS设备的内存。这些资源例如大量数据,图片,音频等等,所以我们在使用懒加载的时候一定要注意先判断是否已经有了,如果没有那么再去进行实例化
 
     2.什么时候使用:
         不是所有getter都需要写成懒加载的。有些时候很确定那些实例变量需要在某个地方初始化,那就不需要重写getter
        了。大量的重写getter会造成大量的版面浪费,而且增加很多输入量。举个例子,控制器的viewDidLoad后所有布局和
        视图都需要初始化好,那么可以将这些控件都放到一个独立的方法里初始化和布局,并不需要单独写getter。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!