Swift中有五个访问权限关键字,不废话,正文开始.
1. open:可以在任何地方访问、重写、继承
2. public:
1.使用public修饰的类,属性或方法,可以被任何类访问,
2.但在其他的module中不可以被override和继承,而在本module可以;
module
解释:
module内和module外的区别 : module内是指不需要使用import引用文件,就可以创建对象,表示module内,而module外是指需要使用import文件才能创建对象才能使用
3.internal
internal修饰的方法或者属性在源代码中的整个模块中都可以访问。
如果是框架或者库代码,则在整个框架或者库内部都可以访问,然而在外部是不可以引用的。
举个例子吧:
在我项目中使用了IQKeyboardManagerSwift
这个框架,在它的代码里有被internal
修饰的方法
新建一个测试类,写入测试代码:
保存信息一目了然,在这里就不多说了
4. fileprivate
修饰的属性或者方法可以在整个swift文件中被访问 继承 重写,在这个swift文件中可以有多个class类
5.private
修饰的属性和方法只能被本类使用,不包括扩展类
下面的代码截图说明一下:
由此可见,swift中访问级别
oper > public > internal > fileprivate > private