在iOS9下,IBOutlets应该是弱引用还是强引用?

3

我正在阅读有关ARC中内存管理实践的新指南,根据最新的指南,现在使用强引用Strong来管理IBOutlets是最佳实践。

有人可以确认一下吗?因为之前我对所有UIKit对象的IBOutlets都使用了weak属性,而对于Foundation框架对象则使用了strong属性。

那么在iOS9和Xcode 7中,新的内存管理实践是什么呢?

参考资料:

https://www.invasivecode.com/weblog/storyboard-strong-iboutlet-scene-dock/


1
我总是为IBOutlet创建一个weak引用。 - Hemang
1个回答

2

这不是关于操作系统版本的问题,而是关于ARC。IBOutlets应该是弱引用。

通常他们所做的论点是关于性能的。然而,更重要的原则是你不应该对你没有直接创建的东西有强引用。理论上,那些对象随时可能消失,它应该自动变成nil。每当有人就像IB outlet这样的东西提出与性能相关的论点时,它就像是预先优化。因此,如果您测量与对象的nilling out相关的性能问题,那么确实可以使其强引用,否则它应该保持弱引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接