使用观察访问器创建存储属性时,可以指定默认值。但是,当覆盖存储的属性及其访问器时,我无法指定默认值。
使用getter / setter的变量不能具有初始值。
这似乎很奇怪,因为这不是带有getter / setter的计算属性,而是存储属性上的一组Observing Accessors!
class FirstViewController: UIViewController {
internal var test: Float = 32.0 {
willSet {
}
didSet {
}
}
Run Code Online (Sandbox Code Playgroud)
第一个视图控制器可以正常编译,并将存储的属性初始化为32.0
class SecondViewController: FirstViewController {
override var test: Float = 64.0 {
willSet {
}
didSet {
}
}
Run Code Online (Sandbox Code Playgroud)
第二个视图控制器无法编译,因为“计算属性”被赋予了初始值
swift ×1