1
我不想,直到我需要顯示其視圖初始化一個視圖控制器,所以我把它在一個慵懶的變種,如:。有沒有辦法判斷一個懶惰的var是否已經被初始化?
lazy var foo: NSViewController! = {
let foo = NSViewController()
foo.representedObject = self.representedObject
return foo
}()
// ...
override var representedObject: Any? {
didSet {
if foo != nil {
foo.representedObject = representedObject
}
}
}
self.representedObject
foo
之前設置的要求不斷被引用,但每次我叫if foo != nil
,它初始化foo
:C
有什麼辦法,我可以測試是否foo
有已經是否已確定?
因此,無法判斷是否在之前引用了'lazy var'? –
如果您將自己的數據結構解壓縮爲不安全內存,我確信有一些方法。這將是非常脆弱的,但一切最終只是字節,所以它必須在某處可以知道。但是就「這可以做到安全而且比以上更簡單嗎?」我不這麼認爲。 '懶惰'是一個非常簡單,硬編碼的模式,它不暴露它的內部。 –