lazy var headerView: WatchlistModifierHeaderView = {
let view = WatchlistModifierHeaderView()
view.translatesAutoresizingMaskIntoConstraints = false
view.heightAnchor.constraint(equalToConstant: HEADER_VIEW_HEIGHT).isActive = true
view.tapEventer.handler = { [unowned self] in
print("HeaderView tapped")
}
return view
}()
这是一个例子。我喜欢这种风格,因为与视图有关的所有内容都在lazy var中捕获。但是,我很好奇这个变量是否因为回调而无法取消。
在一天结束时,我需要阅读内存,初始化和deinit。
答案 0 :(得分:1)
这对我来说很好看。如果您实际上在回调中使用self
,只要保留unowned
或添加weak
,就不会导致保留周期并且会正确退出。