KVC(Key-Value-Coding)和KVO(Key-Value-Observer)
KVC(Key-Value-Coding)和KVO(Key-Value-Observer)
?
目錄
- 概述
- KVC的基本用法
- KVC的運用
- KVO的基本用法
- KVO的運用
?
概述
鍵-值編碼是一個用于間接訪問對象屬性的機制,使用該機制不需要調用存取方法和變量實例就可訪問對象屬性
鍵-值編碼方法在Objective-C非正式協議(類目)NSKeyValueCoding中被聲明,默認的實現方法由NSObject提供
鍵-值編碼支持帶有對象值的屬性,同時也支持純數值類型和結構。非對象參數和返回類型會被識別并自動封裝/解封
?
KVC的基本用法
設置和訪問
-valueForKey和-setValue:forKey:
注:是否存在setter、getter方法,如果不存在,它將在內部查找名為_key或key的實例變量
路徑訪問
-valueForKeyPath:和-setValue:forKeyPath:
注:用于訪問對象里面的對象的屬性
KVC的簡單運算
了解
?
KVC的運用
?
KVO的基本用法
注冊觀察者
addObserver:forKeyPath:options:context:
觀察者響應事件
observeValueForKeyPath:ofObject:change:context
移除觀察者
removeObserver:forKeyPath:
示例
護士監聽兒童,注冊觀察者和響應事件都放在了護士類里面
[child addObserver:self forKeyPath:@"tired" options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew context:nil];
?
KVO的運用
?
?
轉載于:https://www.cnblogs.com/IOS-Developer/p/4291298.html
總結
以上是生活随笔為你收集整理的KVC(Key-Value-Coding)和KVO(Key-Value-Observer)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国大学MOOC-数据结构基础习题集、0
- 下一篇: 让你的Android程序更省电