gpt4 book ai didi

ios - Xcode 8 不编译使用 `self` 的类型推断属性

转载 作者:行者123 更新时间:2023-11-28 10:12:03 27 4
gpt4 key购买 nike

<分区>

这是在 Xcode 9.0 中编译但在 Xcode 8.3.3 中编译不了的 Swift 代码片段:

class MyClass {

let myNumber: NSNumber = 3
lazy var myPropertyUsingSelf = Int(self.myNumber)

}

error: use of unresolved identifier 'self'

private lazy var myPropertyUsingSelf = Int(self.myNumber)

                                    ^~~~


我发现删除类型推断可以解决问题:

class MyClass {

let myNumber: NSNumber = 3
lazy var myPropertyUsingSelf: Int = Int(self.myNumber)

}


但我不明白为什么会这样。有人可以解释一下吗?


注意使用闭包也可以。但是 Swift 无法从闭包中推断类型并强制您显式声明闭包返回类型,所以我想这与上面的解决方案完全相同。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com