swift – 在函数中使用@lazy属性会导致构建错误
发布时间:2020-12-14 05:24:12 所属栏目:百科 来源:网络整理
导读:我试图将类范围限制在函数内.这似乎有效: func foo() { class MyClass { var s = "" }} 我可以在foo()函数中创建MyClass的实例. 但是,当我尝试将@lazy说明符添加到属性时…… func foo() { class MyClass { @lazy var s = "" }} …我收到以下构建错误: Glo
我试图将类范围限制在函数内.这似乎有效:
func foo() { class MyClass { var s = "" } } 我可以在foo()函数中创建MyClass的实例. 但是,当我尝试将@lazy说明符添加到属性时…… func foo() { class MyClass { @lazy var s = "" } } …我收到以下构建错误:
注意:如果我将类移出函数的作用域,代码将编译: class MyClass { @lazy var s = "" } 为什么会失败,这个错误应该如何解决?如果无法解决,是否有另一种方法在函数内部使用@lazy属性?
以下代码适用于我:
func foo() -> String { class bar { lazy var baz = "qux" } return bar().baz } foo() // prints "qux" 看起来早期的Swift laguage版本中有一个错误,已经得到了解决. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |