2016-03-15 63 views
2

考虑以下代码:有一个非可选的弱引用是否有意义?

internal weak var someObj: SomeClass? = TheObject.Exists().Somewhere.obj 

这似乎是完全合理的。参考文献很弱 - 那就是我们无法控制一些Obj的一生 - 所以在某些时候参考文献可能会变成零。即使SomeClass!可以认为是可以接受的,只要您知道可能的风险。 现在怎么样:

internal weak var anotherObj: AnotherClass = aDifferent.Source().ofObjects.obj 

编译器甚至不会发出警告。弱意味着参考可能指向已被释放的对象。另一方面,非选项AnotherClass类型并不真的允许。这样的代码是否合理?

+0

编译器抱怨错误:“弱”变量应该有可选类型“ –

+0

由于某种原因没有发生在我身上。我会再试一次。 –

回答

0

编译器不会允许非可选弱点。

相关问题