Day29
1.KVO是什麼?
KVO全名:Key-Value Observing(縮寫:KVO)。
2.功能是什麼?
當某個物件的屬性異動時,可以主動通知另一個物件,一種架構模式=觀察者模式。
(觀察者模式:一個目標對象管理所有依賴於它的觀察者對象,並在它自身的狀態改變時主動通知觀察者對象。這個主動通知通常是通過調用各個觀察者對象所提供的接口方法來實現的。觀察者模式較完美地將目標對象與觀察者對象解耦)
3.KVO options的參數/常數分有四個:
參數/常數(Constants):
(-new -old -initial -prior)
static var new: NSKeyValueObservingOptions
=指示更改字典應提供新的屬性值。
static var old: NSKeyValueObservingOptions
=指示更改字典應包含舊的屬性值。
static var initial: NSKeyValueObservingOptions
=如果指定,則應在觀察者註冊方法甚至返回之前立即將通知發送給觀察者。
static var prior: NSKeyValueObservingOptions
=是否應在每次更改之前和之後將單獨的通知發送給觀察者,而不是在更改之後將單個通知發送給觀察者。
參考:
https://developer.apple.com/documentation/foundation/nskeyvalueobservingoptions