weak self

10: 喬喬 escaping


Listen Later

{ 完整節目筆記 https://weakself.dev/episodes/10 } 本集竟然有人 escape!那我們就順勢來回應與 @escaping 有關的 #weakself挑戰賽吧!為什麼 Swift closure 的 [weak self] 要加中括號呢?weak、unowned 你分得清楚差別嗎?一起來參與挑戰吧。weak self 挑戰賽 小綠的挑戰推文 何謂 escaping、nonescaping closure 何時用 weak、unowned,或是不用 Closure 的行為 搭配服用的程式範例 closure 預設會 capture (strong reference) 外部變數 capture list 會生成一份 copy Escaping 和 Nonescaping function return 後還會發生的叫做 escaping 有機會造成 retain cycle Weak 和 Unowned 的運作原理 Swift 的 reference instance 是個 HeapObject HeapObject weak reference 會為 instance 建立 side table 用來計算數目 Swift Ownership Manifesto Objective-C 的 ARC 功能如果不是因為創立全新語言 Swift 時追求 memory safety,恐怕從來不會出現。有興趣的朋友可以去聽 The Swift Community Podcast Ep.1。 何時用 weak 或是 unowned? closure 生命週期與對象生命周期一致時,使用 unowned weak 有較多記憶體消耗 要了解程式碼裡大家的生命周期啊 挑戰賽小結 closure 會捕捉外部使用的變數,有可能造成 retain cycle weak 和 unowned 有不同的機制與生命週期 沒有 retain cycle 不用 weak / unowned weak 有額外的記憶體與性能消耗(可忽略) 工程師的 escape 最後生還者 Part II 13 最近在玩 Apple Arcade 13 的 Apple #ArcadeReview 連載中 iPad mini 超適合玩 Apple Arcade 的,又輕又快又平💸 歡樂的時光總是過得特別快 更多 weak self 主講人 一三波肥喬喬 官網 https://weakself.dev Twitter @weak_self 提問箱



This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit weakself.substack.com
...more
View all episodesView all episodes
Download on the App Store

weak selfBy 一三、波肥、喬喬

  • 4.9
  • 4.9
  • 4.9
  • 4.9
  • 4.9

4.9

10 ratings