小编J_l*_*ama的帖子

具有getter / setter的变量在覆盖的存储属性上不能具有初始值

使用观察访问器创建存储属性时,可以指定默认值。但是,当覆盖存储的属性及其访问器时,我无法指定默认值。

使用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

6
推荐指数
1
解决办法
3750
查看次数

标签 统计

swift ×1