子视图和超级视图之间的iOS引用关系

子视图和超级视图之间的iOS引用关系,ios,objective-c,Ios,Objective C,在iOS文档中,子视图似乎强烈引用了superview: @property(nonatomic, readonly) UIView *superview 属性的默认值为strong。 众所周知,superview对子视图有很强的引用,因此superview和子视图之间是否存在引用循环?否,默认值为assign。这与不安全未恢复大致相同。是的,存在一个参考循环。要删除视图,必须调用[视图从SuperView移除],这打破了循环 不会有任何参考循环。删除superview时,它将先删除其所有子项

在iOS文档中,子视图似乎强烈引用了superview:

@property(nonatomic, readonly) UIView *superview
属性的默认值为strong
众所周知,superview对子视图有很强的引用,因此superview和子视图之间是否存在引用循环?

否,默认值为
assign
。这与不安全未恢复大致相同。

是的,存在一个参考循环。要删除视图,必须调用
[视图从SuperView移除]
,这打破了循环

不会有任何参考循环。删除superview时,它将先删除其所有子项,然后再删除自身。如果您只想删除当前视图,您可以这样做。Superview不反对。

默认值现在是
strong
。它过去是
assign
,但几年前苹果改变了它。