Swift 學習筆記

進階部分

首先介紹功能強大的複合型別classstructenum,這幾個型別看起來有幾分相似但適用情況不同。

然後介紹幾個好用又強大的集合型別ArrayDictionarySetTuple,前三者是由struct衍伸出來的通用型別,最後一個是 Swift 語言提供的輕量、靈巧的瑞士小刀。

Swift 是個嚴重潔癖語法嚴謹的語言,在 Type Inference 幫助下,強型別且不允許轉型對於程式強健性有極大幫助。但某些情況依然需要轉型的幫助,Swift 藉由as!as?的幫助,在不犧牲嚴謹前提下提供最大限度的彈性。

協定protocol在某些語言又稱介面interface,只定義不實做,試圖避開多重繼承的混水;型別擴充extension讓已定義好的classstructenum在不修改原始程式情況下,得以擴充屬性或方法。

通用型別提升程式重用性,相同的邏輯針對不同的型別,只要一份程式碼就能搞定。

高階函式sort()filter()map()reduce()看來神奇,只要看清楚分解動作,還是能輕鬆駕馭。

ARC 記憶體管理是最後的重頭戲,不懂這個程式還是能執行,但有可能因為沒釋放不再使用的記憶體,被系統砍掉而閃退。做好記憶體管理是尊重別人、也是對自己負責 (咦?)