IOS中的LazyLoad思想
PHP中文网
PHP中文网 2017-04-17 11:45:56
[iOS讨论组]

都说IOS中有一个LazyLoad思想,那,具体来讲,LazyLoad是什么含义呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(5)
天蓬老师

Lazy,谁懒?当然是计算机偷懒。通常用法,你有一个NSArray的property,但是你不在初始化方法里为其alloc/init,它就只是一个指针,不会占用内存。然后你写了此property的访问器,在访问器里判断此property的指针是否为空,若为空,就alloc/init,这时才真正生成这个NSArray。

这样子达到的效果就是,除非这个NSArray被使用,否则它永远不会真正生成,也就不会占用内存。计算机的偷懒行为可能减少内存占用,何乐为不为?

其他LazyLoad的思想都是这样:拖到最后一刻,万不得已了,才开始占用资源,这在iPhone这种内存较少的设备上是很有必要的。

PHPz

字面意思是延迟加载,或者可以理解为按需加载吧

迷茫

controller的view是lazyload

黄舟

懒加载。 为了解决手机内存小,避免一次初始化太多的问题。可以重写属性 get方法来实现。

PHP中文网

把Object的alloc/init放到getter里,比如
`- (NSObject *)object
{

if (!_object) {
    _object = [[NSObject alloc] init];
    } 
return _object;

}`

这样每次通过self.object使用时,这个object都可用

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号