程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Swift

Swift

編輯:關於C++

屬性監視器

 

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")
		}
	}
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved