【问题标题】:strong weak IBOutlet in iOS 6iOS 6 中的强弱 IBOutlet
【发布时间】:2013-06-14 09:33:09
【问题描述】:

一般建议是对子视图使用弱 IBOutlet。但是现在在 iOS 6 中,不再使用内存警告清除视图,那么声明一个出口为弱与强之间有什么真正的实际区别吗?我的意思是实际的而不是理论的。

【问题讨论】:

  • 视图不再被内存警告清除,是什么意思?你能解释一下
  • 这就是文档所说的:developer.apple.com/library/ios/#documentation/uikit/reference/… 搜索 viewDidUnload 部分。
  • 据我所知,除了视图控制器的主视图之外,您应该将 IBOutlets 设为弱属性。
  • 子视图由其父视图保留。所以问题是如果没有添加到视图中,您是否需要对视图的引用。如果您打算在保留对它的引用的同时从其父视图中删除视图,请使用 strong。
  • @MatthiasBauch 和 JavierQuevedo-Fernández:是的,我已经知道所有这些理论。但从实际的角度来看,为了保持一致性,我认为不再声明网点为弱点是没有意义的。我只会将所有出口声明为强(除非它是周期性参考),这样我就不必担心以后是否将其从 superview 中删除。与 iOS 5 相比,现在使用 weak 并没有真正的优势,因为 if 可以帮助您避免在 viewDidUnload 中清空子视图。

标签: ios memory-management ios6 automatic-ref-counting iboutlet


【解决方案1】:

显然,从实用的角度来看,将 IBOutlets 声明为弱的唯一好处是当您想在应用程序中手动卸载视图时。

在有人提供更好的答案之前,我会将其标记为“已接受”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2011-12-08
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多