当前位置: 首页 > news >正文

dede织梦php文章图片网站源码 完整后台 带在线音乐/优化大师电脑版官网

dede织梦php文章图片网站源码 完整后台 带在线音乐,优化大师电脑版官网,上海比较出名的广告公司,教育网站 怎么做吸引人来自:http://www.jianshu.com/p/b9551a761419 本文来谈一谈在开发中非常实用的懒加载技术吧! 所谓的懒加载可以定义为:延时加载,即当对象需要用到的时候再去加载。其实就是所谓的重写对象的get方法,当系统或者开发者调用对象的get…

来自:http://www.jianshu.com/p/b9551a761419

本文来谈一谈在开发中非常实用的懒加载技术吧!

  • 所谓的懒加载可以定义为:延时加载,即当对象需要用到的时候再去加载。其实就是所谓的重写对象的get方法,当系统或者开发者调用对象的get方法时,再去加载对象。
    需要注意:重写get方法时,先判断对象当前是否为空,为空的话再去实例化对象
  • 懒加载的优点
    • 不需将对象的实例化写到viewDidLoad,可以简化代码,增强代码的可读性
    • 对象的实例化在getter方法中,各司其职,降低耦合性
    • 对系统的内存占用率会减小

viewDidLoad正常加载代码示例

  • 没用懒加载的时候,从plist获取数据,返回一个数组,需要写在viewDidLoad方法中获取
@interface ViewController ()@property (nonatomic, strong) NSArray *shopData;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];_shopData = [NSArray arrayWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"shop" ofType:@"plist"]];
}@end

 

  • 显而易见,当控制器被加载完成后就会加载当前的shopData,假如shopData是在某些事件被触发的时候才会被调用,没必要在控制器加载完就去获取plist文件,如果事件不被触发,代表着shopData永远不会被用到,这样在viewDidLoad中加载shopData就会十分多余,并且耗用内存

懒加载代码示例

- (void)viewDidLoad {[super viewDidLoad];
}- (NSArray *)shopData
{if (!_shopData) {_shopData = [NSArray arrayWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"shop" ofType:@"plist"]];}return _shopData;
}@end

 

  • 当需要用到shopData的时候,就会调用[self shopData]的方法(即getter方法),此时系统会去调用getter方法,然后再getter方法中获取plist文件内容,然后返回使用(需要注意在getter方法里切勿使用self.shopData,因为self.shopData会调用getter方法,造成死循环)

    总结:懒加载即用到时方去加载对象

注意掉坑:

在实现懒加载的时候,getter方法不要不要使用self.shopData方式来访问,要采_shopData方式来访问。如果如果使用点语法来访问getter方法,会形成死循环,因为使用点语法的来访问getter方法时,会继续调用这个方法,形成死循环!!!!

总之,懒加载中,getter方法方法使用_shopData方式访问。setter方法可以使用self.shopData = ?或_shopData = ?

 

转载于:https://www.cnblogs.com/KeenLeung/p/5075872.html

http://www.lbrq.cn/news/1403821.html

相关文章:

  • 网站受到攻击 怎么做/广东seo加盟
  • 外贸网站建设报价差别那么大花钱多吃亏/太原自动seo
  • 什么网站广告做多/搜索关键词排名优化技术
  • 东莞企创做网站怎么样/交易平台
  • 多钱网网站/seo月薪
  • 怎么样再自己的网站做二级域名/上海最近三天的新闻
  • 宜昌 公司 网站建设/2021年重大新闻事件
  • 湖南平台网站建设公司/营销推广案例
  • 东莞市人民政府/淘宝优化关键词的步骤
  • 网站后台权限管理/微信推广软件哪个好
  • 网站主机查询/seo专业培训机构
  • 广元商城网站开发/百度问答下载安装
  • 石狮网站建设联系电话/自己如何制作网页
  • 校园网站设计的毕业论文/购买友情链接
  • 国外做装饰画的网站/百度搜索名字排名优化
  • 漫画网站开发/黑帽seo优化推广
  • 爬闪数媒 网站建设/哪里搜索引擎优化好
  • 网站首页的动态效果图怎么做/网站seo报告
  • 长宁区网站建设网页制/网站建设与管理主要学什么
  • 泛微e8做网站门户/小学四年级摘抄新闻
  • 网站字体特效/seo关键词推广怎么做
  • 网站建设优化是什么鬼/关键词权重如何打造
  • 涞水县住房和城乡建设局网站/郴州网站推广
  • 网站付费推广/网站快速优化排名app
  • 上海建站市场/百度推广上班怎么样
  • 做网站做百度竞价赚钱/网络推广公司联系方式
  • 想要给网站加视频怎么做/seo实战培训机构
  • php网站开发技术是什么/长沙网站设计
  • 苏州网站建设科技/中国目前最好的搜索引擎
  • 青岛模板网站建设价格/抖音关键词排名查询工具
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码1
  • plantsimulation知识点25.8.19 工件不在RGV中心怎么办?
  • LINUX 软件编程 -- 线程
  • 面试题储备-MQ篇 3-说说你对Kafka的理解
  • 驱动开发系列66 - glCompileShader实现 - GLSL中添加内置函数
  • 开源im即时通讯软件开发社交系统全解析:安全可控、功能全面的社交解决方案