可选的let和可选的var init

我遇到optionals的问题,需要对以下情况有更深入的了解。

这是代码,

class X {
    let b: Int! //not working
    let c: Int? //not working

    var q: Int! //working
    var r: Int? //working
}

let x = X()
x.a

在上面的代码中,我仅创建了letvar以及optionalimplicitly unwrapped optional的4种组合。

上面的代码给了我下面的编译器错误:

  

在不初始化所有存储属性的情况下从初始化器返回

问题:

如果bc的值都默认为零,为什么要在init中分配它们的值?并且如果需要,为什么不强制在q中分配rinit?。

lxcgo 回答:可选的let和可选的var init

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3126005.html

大家都在问