我正在使用Xcode 6.2进行iOS项目开发。在旧版本的Xcode中,当创建一个IBOutlet连接时,它总是使用弱引用存储的。现在,当我创建连接时,默认会使用强引用。我保持这种方式,没有注意到任何区别。
在哪个版本的Xcode中默认更改为强引用,并且为什么要这样做?
是的,以前插座通常应该是弱的,但是 Apple 已经改变了这一点。现在他们建议在 WWDC 2015 会议中使用 强大的 插座,参见 在接口构建器中实现 UI 设计。唯一原因可能是保留循环。
在大多数情况下,插座强度弱或强并不重要。你只需要确保没有强引用循环。
子视图不应该有对其父视图的强引用,视图也不应该有对其控制器的强引用,因为父视图已经对其子视图有强引用,控制器对其视图也有强引用。