【问题标题】:iOS reference relationship between subview and superviewiOS子视图和父视图的引用关系
【发布时间】:2015-11-14 02:53:58
【问题描述】:

在 iOS 文档中,似乎 subview 对 superview 有很强的引用:

@property(nonatomic, readonly) UIView *superview

属性的默认值为strong。 众所周知,superview对subview有强引用,那么superview和subview之间是否存在引用循环呢?

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    是的,有一个参考周期。要摆脱视图,您必须致电[theView removeFromSuperview],这会打破循环。

    【讨论】:

      【解决方案2】:

      不,默认为assign。这与 unsafe-unretained 大致相同。

      【讨论】:

      • 现在默认为strong。它曾经是assign,但苹果几年前改变了它。
      【解决方案3】:

      不会有任何参考周期。当 superview 被删除时,它会先删除它的所有子视图,然后再删除自己。如果您只想删除当前视图,您可以这样做。 Superview 不反对。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-07
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多