考虑以下代码:
internal weak var someObj: SomeClass? = TheObject.Exists().Somewhere.obj
这看起来非常合理。引用很弱 - 即我们无法控制someObj的生命周期 - 因此在某些时候引用可能变为零。只要你意识到可能的风险,即使SomeClass!
我也认为是可接受的。
现在怎么样:
internal weak var anotherObj: AnotherClass = aDifferent.Source().ofObjects.obj
编译器甚至不发出警告。弱表明该引用可能指向已被解除分配的对象。另一方面,非可选AnotherClass
类型并不真正允许。这样的代码可以证明是合理的吗?
答案 0 :(得分:0)
编译器不允许使用非可选的弱。