我想限制一個函數內的類範圍。這似乎工作:在函數中使用@lazy屬性導致構建錯誤
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屬性?
您報告此點? https://bugreport.apple.com/ – aleclarson
我也有一些懶惰的變量導致編譯器崩潰的問題;在我的情況下,它與協議一致性有關。需要提交該雷達。 :| – cmyr