1. Swift3提供的幾種訪問級別
- open: 表示當前類、屬性或者方法可以在任何地方被繼承或者override;
- public: 表示當前類、屬性或者方法只能在當前module內被繼承或者override,在當前module以外只能被訪問;
- Internal:默認級別,表示當前類、屬性或者方法只能在當前module內被訪問,繼承和override;
- ** fileprivate**:文件內私有屬性和方法,僅在當前文件中可以訪問,包括同一個文件中不同的類;
- private:類私有屬性和方法,僅在當前類中可以訪問,不包括分類;
- final:是一個輔助修飾詞,表示當前類、屬性或者方法在任何地方都只能被訪問,不能被繼承或者override;
其他:
可以通過private(set)或internal(set)先為它門的寫權限申明一個較低的訪問級別。<br />
2. defer關鍵字
defer關鍵字將后面{}里的代碼延遲到該方法return前一步調用
3. static和class
static修飾的方法不能在子類override, class修飾的可以在子類override