swift – 在函数中使用@lazy属性会导致构建错误

swift – 在函数中使用@lazy属性会导致构建错误,第1张

概述我试图将类范围限制在函数内.这似乎有效: func foo() { class MyClass { var s = "" }} 我可以在foo()函数中创建MyClass的实例. 但是,当我尝试将@lazy说明符添加到属性时…… func foo() { class MyClass { @lazy var s = "" }} …我 我试图将类范围限制在函数内.这似乎有效:
func foo() {    class MyClass {        var s = ""    }}

我可以在foo()函数中创建MyClass的实例.

但是,当我尝试将@lazy说明符添加到属性时……

func foo() {    class MyClass {        @lazy var s = ""    }}

…我收到以下构建错误

Global is external,but doesn’t have external or weak linkage! invalID linkage type for function declaration LLVM ERROR: broken module found,compilation aborted!

注意:如果我将类移出函数的作用域,代码将编译:

class MyClass {    @lazy var s = ""}

为什么会失败,这个错误应该如何解决?如果无法解决,是否有另一种方法在函数内部使用@lazy属性?

以下代码适用于我:
func foo() -> String {    class bar {        lazy var baz = "qux"    }    return bar().baz}foo() // prints "qux"

看起来早期的Swift laguage版本中有一个错误,已经得到了解决.

总结

以上是内存溢出为你收集整理的swift – 在函数中使用@lazy属性会导致构建错误全部内容,希望文章能够帮你解决swift – 在函数中使用@lazy属性会导致构建错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1030653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存