教程 swift tutorial

属性观察器

属性观察器用于监控属性值的变化,执行相应代码。支持 willSet 和 didSet 两种观察器。

willSet

属性即将被赋新值时调用,默认参数 newValue 表示即将设置的值。

swift
var score: Int = 0 {
    willSet {
        print("分数即将从 \(score) 改为 \(newValue)")
    }
}
score = 10

`

didSet

属性值设置完成后调用,默认参数 oldValue 表示修改前的值。

swift
var level: Int = 1 {
    didSet {
        print("等级从 \(oldValue) 提升到 \(level)")
    }
}
level = 2

注意事项

  • 属性观察器不能用于延迟存储属性(lazy)。
  • 在初始化过程中赋值不会触发观察器。

总结

属性观察器是监听和响应属性变化的强大工具,有助于实现数据驱动的逻辑。