lazy修飾符和lazy方法

swift屬性的延遲加載你一定不陌生

lazy var str:String = "Hello"

而我們今天關注的不是這個,而是延遲加載方法稀火。

在swift的標準庫中有一組lazy方法暖哨,它們是這樣定義的:

func lazy<S:SequenceType>(s:S) -> LazySequence<S>

func lazy<S:CollectionType where S.Index : RandomAccessIndexType>(s:S) -> LazyRandomAccessCollection<S>

還有很多。凰狞。篇裁。

這些方法可以配合map filter flatten() 等方法使用

使用map時你可能會這樣寫

let data = 1...3

let result = data.map { ?

? ? ?(i:Int)->Int in

? ? ? print("正在處理 \(i)") ? ??

? ? ?return i+1

? ?}

for i in result {

? ?print("resylt\(i)")

}

你這么做的輸出為:

#正在處理 1

#正在處理 2

#正在處理 3

#2

#3

#4

可以看到map會一次性把所有數據準備好。

而我們如果使用lazy

let data = 1...3

let result = data.layz.map { //layz

? ? ? (i:Int)->Int in

? ? ? ?print("正在處理 \(i)")

? ? ? ? return i+1

}

for i in result {

? ? ? print("resylt\(i)")

}

輸出結果:

#正在處理 1

#2

#正在處理 2

#3

#正在處理 3

#4

看懂了吧

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末服球,一起剝皮案震驚了整個濱河市茴恰,隨后出現的幾起案子,更是在濱河造成了極大的恐慌斩熊,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伐庭,死亡現場離奇詭異粉渠,居然都是意外死亡,警方通過查閱死者的電腦和手機圾另,發(fā)現死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門霸株,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人集乔,你說我怎么就攤上這事去件。” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵尤溜,是天一觀的道長倔叼。 經常有香客問我,道長宫莱,這世上最難降的妖魔是什么丈攒? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮授霸,結果婚禮上巡验,老公的妹妹穿的比我還像新娘。我一直安慰自己碘耳,他們只是感情好显设,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辛辨,像睡著了一般敷硅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愉阎,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天绞蹦,我揣著相機與錄音,去河邊找鬼榜旦。 笑死幽七,一個胖子當著我的面吹牛,可吹牛的內容都是我干的溅呢。 我是一名探鬼主播澡屡,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咐旧!你這毒婦竟也來了驶鹉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤铣墨,失蹤者是張志新(化名)和其女友劉穎室埋,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體伊约,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡姚淆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了屡律。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腌逢。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖超埋,靈堂內的尸體忽然破棺而出搏讶,到底是詐尸還是另有隱情佳鳖,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布媒惕,位于F島的核電站系吩,受9級特大地震影響,放射性物質發(fā)生泄漏吓笙。R本人自食惡果不足惜淑玫,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望面睛。 院中可真熱鬧絮蒿,春花似錦、人聲如沸叁鉴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幌墓。三九已至但壮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間常侣,已是汗流浹背蜡饵。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胳施,地道東北人溯祸。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像舞肆,于是被迫代替她去往敵國和親焦辅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容

  • 延時加載或者說延時初始化時很常用的優(yōu)化方法椿胯。 在特定環(huán)境下才會使用到的存儲屬性筷登,可以使用 lazy class C...
    fordring2008閱讀 475評論 0 0
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,744評論 0 33
  • 我們在第一次訪問某個屬性時哩盲,判斷這個屬性背后的存儲是否已經存在前方,如果存在則直接返回,如果不存在則說明是首次訪問种冬,那...
    TomatosX閱讀 674評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法镣丑,類相關的語法,內部類的語法娱两,繼承相關的語法,異常的語法金吗,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • 時常覺得朋友圈很可怕十兢。 有時候很懷念最初的朋友圈趣竣,里邊關系簡單,只有熟識的朋友旱物。但是漸漸地一些其他的身份開始占據朋...
    迷路路閱讀 227評論 0 0