Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在slayvar中回调在Swift中可以吗?_Ios_Swift - Fatal编程技术网

Ios 在slayvar中回调在Swift中可以吗?

Ios 在slayvar中回调在Swift中可以吗?,ios,swift,Ios,Swift,这里有一个例子。我喜欢这种风格,因为与视图相关的所有内容都在lazy变量中捕获。但是,我很好奇变量是否会因为回调而不deinit 在一天结束时,我需要仔细阅读内存、init和deinit。这对我来说很好。如果您实际上在回调中使用了self,只要您保持该无主或添加一个弱,它就不会导致保留周期,并且会正确地取消 lazy var headerView: WatchlistModifierHeaderView = { let view = WatchlistModifierHeaderView

这里有一个例子。我喜欢这种风格,因为与视图相关的所有内容都在lazy变量中捕获。但是,我很好奇变量是否会因为回调而不deinit


在一天结束时,我需要仔细阅读内存、init和deinit。

这对我来说很好。如果您实际上在回调中使用了
self
,只要您保持该
无主
或添加一个
,它就不会导致保留周期,并且会正确地取消

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
}()