猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
IOS中的LazyLoad思想
都说IOS中有一个LazyLoad思想,那,具体来讲,LazyLoad是什么含义呢?
天涯尽头无女友
浏览 752
回答 2
2回答
呼如林
字面意思是延迟加载,或者可以理解为按需加载吧
0
0
0
慕妹3242003
把Object的alloc/init放到getter里,比如`- (NSObject *)object{if (!_object) { _object = [[NSObject alloc] init]; } return _object;}`这样每次通过self.object使用时,这个object都可用
0
0
0
慕尼黑的夜晚无繁华
Lazy,谁懒?当然是计算机偷懒。通常用法,你有一个NSArray的property,但是你不在初始化方法里为其alloc/init,它就只是一个指针,不会占用内存。然后你写了此property的访问器,在访问器里判断此property的指针是否为空,若为空,就alloc/init,这时才真正生成这个NSArray。这样子达到的效果就是,除非这个NSArray被使用,否则它永远不会真正生成,也就不会占用内存。计算机的偷懒行为可能减少内存占用,何乐为不为?其他LazyLoad的思想都是这样:拖到最后一刻,万不得已了,才开始占用资源,这在iPhone这种内存较少的设备上是很有必要的。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
iOS
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续