swift
懒加载的闭包内部使用self
,不会导致循环引用,原因是因为swift
的懒加载闭包是非逃逸闭包@noescape
什么是@noescape
,@escaping
非逃逸闭包(@noescape
): 在这个函数结束前闭包被调用
逃逸闭包(@escape
): 在这个函数结束后闭包才被调用
非逃逸闭包内使用self是不会导致循环引用,例如SnapKit
使用
self.view.addSubview(box)
box.backgroundColor = .green
box.snp.makeConstraints { (make) -> Void in
make.width.height.equalTo(50)
make.center.equalTo(self.view)
}
网友评论