1. Swift3提供的幾種訪問級別
- open: 表示當(dāng)前類秸滴、屬性或者方法可以在任何地方被繼承或者override疾瓮;
- public: 表示當(dāng)前類尘颓、屬性或者方法只能在當(dāng)前module內(nèi)被繼承或者override佃声,在當(dāng)前module以外只能被訪問菲嘴;
- Internal:默認(rèn)級別虏辫,表示當(dāng)前類蚌吸、屬性或者方法只能在當(dāng)前module內(nèi)被訪問,繼承和override砌庄;
- ** fileprivate**:文件內(nèi)私有屬性和方法羹唠,僅在當(dāng)前文件中可以訪問奕枢,包括同一個(gè)文件中不同的類;
- private:類私有屬性和方法佩微,僅在當(dāng)前類中可以訪問缝彬,不包括分類;
- final:是一個(gè)輔助修飾詞哺眯,表示當(dāng)前類谷浅、屬性或者方法在任何地方都只能被訪問,不能被繼承或者override族购;
其他:
可以通過private(set)或internal(set)先為它門的寫權(quán)限申明一個(gè)較低的訪問級別壳贪。<br />
2. defer關(guān)鍵字
defer關(guān)鍵字將后面{}里的代碼延遲到該方法return前一步調(diào)用
3. static和class
static修飾的方法不能在子類override, class修飾的可以在子類override