swift - willset 和 didset 是否被视为 Swift 中的闭包?

标签 swift closures strong-references didset

我理解 willsetdidset 的目的,但我不确定它们是否被视为闭包。

如果它们是闭包,下面的代码不应该产生一个强引用循环吗?

var myProperty : Int = 0 {
    didSet { self.callMyMethod() }
}

最佳答案

不,它们不是闭包。你可以把它想象成一种不能直接访问的特殊类型的函数;它只会在属性更改时调用。 (该函数名为 myapp.MyStruct.myProperty.didset;您可以在调试器中看到它。)

关于swift - willset 和 didset 是否被视为 Swift 中的闭包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31579588/

相关文章:

swift - 对闭包强引用循环感到困惑?

cocoa - Swift - 选择文件时发出警告(Cocoa)

ios - 核心数据快速sugue不将数据推送到第二个 View Controller

ios - Swift - 如何识别哪个自定义 tableview 单元格已被修改?

swift - 使用 Alamofire 将图像上传到 API 服务器

swift - 这是强引用循环还是内存泄漏?

python-2.7 - 如何将弱引用更改为强引用?

javascript - 我无法让 JavaScript 事件监听器正常工作

javascript - 了解范围

ios - UIViewController 使用闭包时不释放