Ios 使用非可选的弱引用有意义吗?
考虑以下代码:Ios 使用非可选的弱引用有意义吗?,ios,swift,macos,reference,Ios,Swift,Macos,Reference,考虑以下代码: internal weak var someObj: SomeClass? = TheObject.Exists().Somewhere.obj 这似乎完全合理。引用很弱——也就是说我们无法控制someObj的生命周期——因此在某个点上,引用可能变为零。甚至SomeClass只要您知道可能的风险,我是否可以接受。 那么这个呢: internal weak var anotherObj: AnotherClass = aDifferent.Source().ofObjects.o
internal weak var someObj: SomeClass? = TheObject.Exists().Somewhere.obj
这似乎完全合理。引用很弱——也就是说我们无法控制someObj的生命周期——因此在某个点上,引用可能变为零。甚至SomeClass代码>只要您知道可能的风险,我是否可以接受。
那么这个呢:
internal weak var anotherObj: AnotherClass = aDifferent.Source().ofObjects.obj
编译器甚至没有发出警告。弱表示引用可能指向已解除分配的对象。另一方面,非可选的另一个类
类型实际上不允许这样做。这样的代码是否合理?编译器不允许非可选的弱变量。编译器抱怨错误:“弱”变量应该有可选类型,因为某些原因我没有遇到过。我会再试一次。