【发布时间】:2014-12-29 20:08:57
【问题描述】:
我试图将类范围限制在函数内。这似乎有效:
func foo() {
class MyClass {
var s = ""
}
}
我可以在 foo() 函数中创建 MyClass 的实例。
但是,当我尝试将 @lazy 说明符添加到属性时...
func foo() {
class MyClass {
@lazy var s = ""
}
}
...我收到以下构建错误:
- 全局是外部的,但没有外部或弱链接!
- 函数声明的链接类型无效
- LLVM 错误:发现损坏的模块,编译中止!
注意:如果我将类移出函数的范围,代码会编译:
class MyClass {
@lazy var s = ""
}
为什么会失败,应该如何解决这个错误?如果无法解决,还有其他方法可以在函数内部使用@lazy 属性吗?
【问题讨论】:
-
您举报了吗? bugreport.apple.com
-
我也遇到了一些导致编译器崩溃的惰性变量问题;就我而言,它与协议一致性有关。需要归档那个雷达。 :|
标签: swift