下標 之前有介紹過不同的資料型態,我們可以透過下標的方式,來獲取其中的元素。 var array = [1,2,3,4,5,6,7] // 透過下標獲取陣列第三...
初始化 Swift中的初始化要求struct和class必須要在初始化結束前完成其中儲存屬性的構造( lazy除外 )。因此開發者在設計時往往採用兩種方式。...
反初始化 反初始化只適用於class,當一個類實例被釋放之前,反初始化器將被調用。關鍵字用deinit像是初始化用init一樣。 您不要將 func 與反初始...
錯誤的拋出與傳遞 程式在執行時很多時候並不會如同開發者所想的執行,所以必須進行可控的錯誤處理,在Swift中所有的錯戶都由Error協議來指定,例如開發者可以自...
泛型 泛型是程式設計的一種特性,允許開發者在強類型語言時定義一些可變部分。 泛型通常用來表達一種未定的資料型態,例如在寫函數時,如果這個函數有參數,開發者需要明...
擴展 擴展可以给一个現有的class,struct,enum,添加新的功能。它還擁有不需要訪問被擴展類型源程式碼就能完成擴展的能力。 添加計算屬性 定義實例方...
協定 Swift中的協定使用protocol關鍵字來建立,其中可以宣告屬性與方法,其中屬性在具體實現時可以是計算屬性,也可以是儲存屬性。 protocol Pr...
AnyObject 在實際開發中,開發者經常會使用到一些通用類型,NSObject類是大部分類的一個基類,使用基類作為陣列的元素類型接收不同子類的元素。其實如果...
類型檢查 Swift中,資料的檢查和轉換需要使用 is 和 as 關鍵字。 var str = "andy" // 進行實例的類型檢查 if...
學習資源 第30天作為挑戰的尾聲,想來分享自己在學習Swift的期間,對自己有幫助的網站、資源。 Hacking with Swifthttps://www.h...