当我搜索UIView的代码时,我无法理解为什么superview和subviews属性不会创建保留周期?
extension UIView {
open var superview: UIView? { get }
open var subviews: [UIView] { get }
open var window: UIWindow? { get }
计算属性只是一对getter和setter(或者,在这种情况下,它是只读属性,它只是一个getter)。该声明不会告诉您如何存储或使用内存管理属性使用的任何基础数据。
我无法理解为什么superview和subviews属性不会创建保留周期?
这是因为视图层次结构是关于保留的有向图。视图保留其子视图,但子视图不保留其超视图。