gpt4 book ai didi

ios - IBOutlets Strong or Weak - 它真的对内存管理有影响吗? (弧)

转载 作者:可可西里 更新时间:2023-11-01 04:44:03 27 4
gpt4 key购买 nike

我最近在这里和其他网站上阅读了很多关于 IBOutlets 应该强还是弱的文章。官方判定它们应该是弱的,除非它们引用顶级 xib 对象。

这很好。

然而,我还不清楚为什么将它们设置为强或弱实际上会对应用程序的内存管理产生影响。特别是从 iOS6 开始,viewDidUnload 不再在收到内存警告时调用,因此从这个意义上说,为 IBOutlets 选择弱或强不会有任何区别。

虽然对于不再位于导航堆栈中的 View Controller (即在它们被加载然后弹出之后),我认为任何声明为弱的 IBOutlets 都将被释放,但我的想法是否正确?

感谢您的任何见解!

最佳答案

IBOutlets 可以声明为弱的,因为它们将在 XIB 解析期间创建并添加到 UIView 堆栈中......因此您不需要对该对象的强引用。

当您声明一个 IBOutlet weak 时,您确保当 UIViewcontroller 的主 UIView 消失时,每个 subview 都将被删除,而不会发生任何内存泄漏。

关于ios - IBOutlets Strong or Weak - 它真的对内存管理有影响吗? (弧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826816/

27 4 0