亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

IOS中的LazyLoad思想

IOS中的LazyLoad思想

iOS
天涯盡頭無女友 2018-07-27 19:21:48
都說IOS中有一個LazyLoad思想,那,具體來講,LazyLoad是什么含義呢?
查看完整描述

2 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

字面意思是延遲加載,或者可以理解為按需加載吧

查看完整回答
反對 回復 2018-07-31
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

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

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

}`

這樣每次通過self.object使用時,這個object都可用


查看完整回答
反對 回復 2018-07-31
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

Lazy,誰懶?當然是計算機偷懶。通常用法,你有一個NSArray的property,但是你不在初始化方法里為其alloc/init,它就只是一個指針,不會占用內存。然后你寫了此property的訪問器,在訪問器里判斷此property的指針是否為空,若為空,就alloc/init,這時才真正生成這個NSArray。

這樣子達到的效果就是,除非這個NSArray被使用,否則它永遠不會真正生成,也就不會占用內存。計算機的偷懶行為可能減少內存占用,何樂為不為?

其他LazyLoad的思想都是這樣:拖到最后一刻,萬不得已了,才開始占用資源,這在iPhone這種內存較少的設備上是很有必要的。


查看完整回答
反對 回復 2018-07-31
  • 2 回答
  • 0 關注
  • 787 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號