Swift 访问权限修饰符
Swift 访问权限修饰符
swift 的设计目标之一就是安全类型语言(Designed for Safety),所以多几个访问修饰符
也是合情合理的。
访问修饰符可以用来修饰属性
、方法
、类
、结构体
private
只能在当前类里使用,不允许外部或者其子类访问。如果用来修饰类、结构体,那么作用相当于fileprivate
private(set) 表示禁止设置,即只读,可访问
fileprivate
只能在当前的源文件里使用
internal(默认)
可以在源代码所在的模块使用
public
可以在模块之外使用,但不可以在其它模块中重写和继承
open
可以在模块之外使用,也可以在其它模块中重写和继承
补充
在一个 Framework 里,既有 Swift 又有 OC 代码时,编译器会将 Swift 和 OC 分别当成一个 Module 。Swift 代码除了使用关键字 @objc
外,还必须使用 public
级别的关键字才能被同一个 Framework 里的 OC 代码使用