屬性觀察者,類似于觸發(fā)器。用來監(jiān)視屬性的除初始化之外的屬性值變化,當(dāng)屬性值發(fā)生改變時可以對此作出響應(yīng)觉既。有如下特點:
- 不僅可以在屬性值改變后觸發(fā)didSet,也可以在屬性值改變前觸發(fā)willSet乳幸。
- 給屬性添加觀察者必須要聲明清楚屬性類型瞪讼,否則編譯器報錯。
- willSet可以帶一個newName的參數(shù)反惕,沒有的話尝艘,該參數(shù)默認命名為newValue。
- didSet可以帶一個oldName的參數(shù)姿染,表示舊的屬性背亥,不帶的話默認命名為oldValue。
- 屬性初始化時悬赏,willSet和didSet不會調(diào)用狡汉。只有在初始化上下文之外,當(dāng)設(shè)置屬性值時才會調(diào)用闽颇。
- 即使是設(shè)置的值和原來值相同盾戴,willSet和didSet也會被調(diào)用