首先介紹功能強大的複合型別class、struct、enum,這幾個型別看起來有幾分相似但適用情況不同。
然後介紹幾個好用又強大的集合型別Array、Dictionary、Set、Tuple,前三者是由struct衍伸出來的通用型別,最後一個是 Swift 語言提供的輕量、靈巧的瑞士小刀。
Swift 是個嚴重潔癖語法嚴謹的語言,在 Type Inference 幫助下,強型別且不允許轉型對於程式強健性有極大幫助。但某些情況依然需要轉型的幫助,Swift 藉由as!與as?的幫助,在不犧牲嚴謹前提下提供最大限度的彈性。
協定protocol在某些語言又稱介面interface,只定義不實做,試圖避開多重繼承的混水;型別擴充extension讓已定義好的class、struct、enum在不修改原始程式情況下,得以擴充屬性或方法。
通用型別提升程式重用性,相同的邏輯針對不同的型別,只要一份程式碼就能搞定。
高階函式sort()、filter()、map()、reduce()看來神奇,只要看清楚分解動作,還是能輕鬆駕馭。
ARC 記憶體管理是最後的重頭戲,不懂這個程式還是能執行,但有可能因為沒釋放不再使用的記憶體,被系統砍掉而閃退。做好記憶體管理是尊重別人、也是對自己負責 (咦?)