可选的let和可选的var init

时间:2019-11-11 07:11:33

标签: swift optional

我遇到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?。

0 个答案:

没有答案