Swift - 屬性 - 屬性監視器(didSet、willSet)

來源:互聯網
上載者:User

標籤:ios   swift   

屬性監視器

1、屬性監視器功能

  屬性觀察器控 制和響應屬性的變化, 每次屬性被設定值的時候會調用屬性觀察器,甚至新的值和舊的值相同的時候也不例外。

  可以通過重載屬性的方法為繼承的誰能夠(包括儲存屬性和計算屬性)添加屬性觀察器

  注意: 不需要為無法重載的計算屬性添加屬性觀察器, 因為可以通過setter直接監控和響應值的變化

2、屬性監視器方法

  1. willSet

    功能: 在設定新的值之前調用

    介紹: illSet 觀察器會將新的屬性值作為固定參數傳入,在willSet的事項代碼中可以為這個參數指定一個名稱, 如果不指定則參數預設名稱用 newValue 表示

  2.didSet

    功能: 在新的值被設定之後立即調用

    功能: didSet 觀察器會將舊的屬性值作為參數傳入, 參數預設名稱為: oldValue

3、注意

  1、willSet 和 didSet 觀察器在屬性初始化過程中不會被調用,它們只會當屬性的值在初始化之外的地方被設定時被調用

  2、如果在 didSet 觀察器裡為屬性賦值, 這個值會替換觀察器之前設定的值。

4、代碼範例
class Person: NSObject {// 年齡 屬性var age: Int?// 姓名 屬性var name: String? {willSet{println("willSet")}didSet{println("didSet")}}}


Swift - 屬性 - 屬性監視器(didSet、willSet)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.