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'? –
如果您将自己的数据结构解压缩为不安全内存,我确信有一些方法。这将是非常脆弱的,但一切最终只是字节,所以它必须在某处可以知道。但是就“这可以做到安全而且比以上更简单吗?”我不这么认为。 '懒惰'是一个非常简单,硬编码的模式,它不暴露它的内部。 –