2
考虑以下代码:有一个非可选的弱引用是否有意义?
internal weak var someObj: SomeClass? = TheObject.Exists().Somewhere.obj
这似乎是完全合理的。参考文献很弱 - 那就是我们无法控制一些Obj的一生 - 所以在某些时候参考文献可能会变成零。即使SomeClass!
可以认为是可以接受的,只要您知道可能的风险。 现在怎么样:
internal weak var anotherObj: AnotherClass = aDifferent.Source().ofObjects.obj
编译器甚至不会发出警告。弱意味着参考可能指向已被释放的对象。另一方面,非选项AnotherClass
类型并不真的允许。这样的代码是否合理?
编译器抱怨错误:“弱”变量应该有可选类型“ –
由于某种原因没有发生在我身上。我会再试一次。 –