属性观察器willSet与didSet

Posted 小课桌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了属性观察器willSet与didSet相关的知识,希望对你有一定的参考价值。

willSet与didSet是swift特有的,就是监听属性值的变化,但有一个小注意点。

willSet与didSet调用时机:对象创建后的第一次赋值时开始调用。也就是说,初始化时(包含重载的init或重写的init)不会调用。

1     var name:String?{
2         willSet{
3             print("新值:\(newValue);旧值:\(name)")
4         }
5         didSet{
6             print("旧值:\(oldValue);name = \(name)")
7         }
8     }

willSet里面的newValue == didSet里面的name:新值

willSet里面的name == didSet里面的oldValue:旧值

以上是关于属性观察器willSet与didSet的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中 willSet 和 didSet 的作用是啥?

Swift 中的 Getter 和 Setter - 改用 WillSet 和 DidSet 有意义吗?

结构不在新对象上调用属性观察者

有没有我可以为 UIScrollview.contentOffset 截取的“willSet”和“didSet”?

Object-C--->Swift之属性观察者

Swift-属性监听