本文章純粹是中文版《the swift programming language》的學習筆記,所以絕大部分的內容都是文中有的。本文是本人的學習筆記,不是正式系統的記錄。僅供參考
以下還是有很多沒看懂、不確定的地方,我會以「存疑」的註解指出。
在此感謝中文版翻譯者,這極大地加快了 swift 的學習速度。
中文版:swift 3 程式語言 - 屬性
屬性可以分為計算屬性
和儲存屬性
兩種。
在類的內部,可以定義屬性觀察器,實現在屬性變化前和變化後做相應的處理。
使用let
或var
引入。
使用lazy
關鍵字來修飾變數,則相應的屬性在首次使用的時候才會去計算其值。比如說在類裡面定義乙個 lazy 類成員,那麼這個成員直郵在首次訪問的時候才會建立相應的例項。
需要注意的是:延遲儲存屬性本身並不是執行緒安全的
提供乙個getter
和乙個可選的setter
來間接得到和設定相應的屬性值。類似於 objective-c 裡面過載 getter 和 setter 的行為。以下是例子:
struct rect
set (newcenter)
}}
如果只提供了 getter 就表示這是乙個唯讀屬性。
除了 lazy 屬性之外,所有屬性都可以觀察,主要是willset
和didset
關鍵字。
class stepcounter
didset
}}
這種屬性,在所有同一型別的類的所有例項僅有乙個拷貝。必須賦予乙個預設值,不可以使用 lazy 關鍵字。使用static
關鍵字來標識。 Swift 個人學習筆記 06 控制流
本文章純粹是中文版 the swift programming language 的學習筆記,所以絕大部分的內容都是文中有的。本文是本人的學習筆記,不是正式系統的記錄。僅供參考 以下還是有很多沒看懂 不確定的地方,我會以 存疑 的註解指出。在此感謝中文版翻譯者,這極大地加快了 swift 的學習速度...
Swift 個人學習筆記 02 基礎內容
以下還是有很多沒看懂 不確定的地方,我會以 存疑 的註解指出。在此感謝中文版翻譯者,這極大地加快了 swift 的學習速度。中文版 swift 3 程式語言 int型別與處理器位寬相同。同理uint。這一點類似於 c 裡面的 long 型別。另有 uint8,int8,uint16,int16,ui...
Swift 個人學習筆記 07 列舉
本文章純粹是中文版 the swift programming language 的學習筆記,所以絕大部分的內容都是文中有的。本文是本人的學習筆記,不是正式系統的記錄。僅供參考 以下還是有很多沒看懂 不確定的地方,我會以 存疑 的註解指出。在此感謝中文版翻譯者,這極大地加快了 swift 的學習速度...