Swift中有五個(gè)訪問(wèn)權(quán)限關(guān)鍵字,不廢話,正文開始.
1. open:可以在任何地方訪問(wèn)、重寫甘有、繼承
2. public:
1.使用public修飾的類,屬性或方法,可以被任何類訪問(wèn),
2.但在其他的module中不可以被override和繼承,而在本module可以;
module
解釋:
module內(nèi)和module外的區(qū)別 : module內(nèi)是指不需要使用import引用文件,就可以創(chuàng)建對(duì)象箱歧,表示module內(nèi)狰晚,而module外是指需要使用import文件才能創(chuàng)建對(duì)象才能使用
3.internal
internal修飾的方法或者屬性在源代碼中的整個(gè)模塊中都可以訪問(wèn)盏筐。
如果是框架或者庫(kù)代碼收厨,則在整個(gè)框架或者庫(kù)內(nèi)部都可以訪問(wèn)晋柱,然而在外部是不可以引用的。
舉個(gè)例子吧:
在我項(xiàng)目中使用了IQKeyboardManagerSwift
這個(gè)框架诵叁,在它的代碼里有被internal
修飾的方法
新建一個(gè)測(cè)試類,寫入測(cè)試代碼:
保存信息一目了然,在這里就不多說(shuō)了
4. fileprivate
修飾的屬性或者方法可以在整個(gè)swift文件中被訪問(wèn) 繼承 重寫,在這個(gè)swift文件中可以有多個(gè)class類
5.private
修飾的屬性和方法只能被本類使用,不包括擴(kuò)展類
下面的代碼截圖說(shuō)明一下:
由此可見,swift中訪問(wèn)級(jí)別
oper > public > internal > fileprivate > private