open(开放的)
访问权限最高的,可以被任何类访问,override以及继承,不限制范围,很多系统库的属性都是open修饰
public(公共使用)
访问权限仅次于open,可以被任何对象访问,但限于同一模块才能被override和继承,很多系统库协议是用public修饰
internal(默认,内部)
默认的权限范围,即不写的时候默认是internal修饰的。在同一module可以访问。
fileprivate
同一源文件下访问,一个.swift文件下,不同类下可以访问
private
权限范围最低,只能在当前类中访问。分类也不行
swift组件私有库中,如果有基类控制器供给业务继承,就必须用open修饰,因为不在一个模块中
网友评论