主题
属性观察器
属性观察器用于监控属性值的变化,执行相应代码。支持 willSet 和 didSet 两种观察器。
willSet
属性即将被赋新值时调用,默认参数 newValue 表示即将设置的值。
swift
var score: Int = 0 {
willSet {
print("分数即将从 \(score) 改为 \(newValue)")
}
}
score = 10didSet
属性值设置完成后调用,默认参数 oldValue 表示修改前的值。
swift
var level: Int = 1 {
didSet {
print("等级从 \(oldValue) 提升到 \(level)")
}
}
level = 2注意事项
- 属性观察器不能用于延迟存储属性(
lazy)。 - 在初始化过程中赋值不会触发观察器。
总结
属性观察器是监听和响应属性变化的强大工具,有助于实现数据驱动的逻辑。