在Swift中,定义公共模式的常规方式是什么,在该模式中,属性是外部只读的,但可以由拥有该属性的类(和子类)在内部进行修改。
在Objective-C中,有以下选项:
在Java中,约定为:
Swift的成语是什么?
给定一个类属性,您可以通过在属性声明的前面加上access修饰符,然后在括号之间get或set括号之间指定不同的访问级别。例如,具有公共获取器和私有设置器的类属性将声明为:
get
set
private(set) public var readonlyProperty: Int
建议阅读:Getters和Setters
Martin关于可访问性级别的考虑仍然有效- 即没有protected修饰符,internal仅将对模块的访问限制为仅对private当前文件的访问,并且public没有任何限制。
protected
internal
private
public
2个新的访问修饰符,fileprivate并且open已添加到语言中,而private和public已稍作修改:
fileprivate
open
open仅适用于类和类成员:用于允许对类进行子类化或在定义它们的模块之外重写成员。public而是使类或成员可公开访问,但不能继承或覆盖
private现在使成员仅从封闭的声明中可见并可以访问,而fileprivate对于包含该成员的整个文件
更多细节在这里。