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

编译器甚至没有发出警告。弱表示引用可能指向已解除分配的对象。另一方面,非可选的
另一个类
类型实际上不允许这样做。这样的代码是否合理?

编译器不允许非可选的弱变量。

编译器抱怨错误:“弱”变量应该有可选类型,因为某些原因我没有遇到过。我会再试一次。