KVO与KVC
KVC是鍵值編碼,只要是繼承了NSObject的對(duì)象都支持kvc,由于NSObject支持一個(gè)NSKeyValueCoding的非正式協(xié)議
[_receivedData setValue:@"moxue" forKey:@"name"];//修改值[_receivedData valueForKey:@"name"];//查看值KVO鍵值觀察,當(dāng)鍵值對(duì)發(fā)生改變時(shí),通過新建一個(gè)觀察鍵值,在被觀察對(duì)象發(fā)生改變時(shí),來做出事件響應(yīng)。
[[NSUserDefaults standardUserDefaults]setValue:@"myname" forKey:@"myname"];//設(shè)置鍵值[[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:@"myname" options:NSKeyValueObservingOptionNew context:nil];//對(duì)其進(jìn)行鍵值觀察,通過設(shè)置NSKeyValueObservingOptionNew參數(shù),設(shè)置觀察的值為最新數(shù)據(jù)[[NSUserDefaults standardUserDefaults] setValue:@"haha" forKey:@"myname"];//改變鍵值對(duì)-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {//keyPath為鍵值的Key,change參數(shù)儲(chǔ)存改變的值的字典。if ([keyPath isEqualToString:@"myname"]) {NSLog(@"%@",[change valueForKey:@"new"]);//取出NSKeyValueObservingOptionNew最新數(shù)據(jù)。 } }?
轉(zhuǎn)載于:https://www.cnblogs.com/moxuexiaotong/p/4976325.html
總結(jié)
- 上一篇: WebStorm10.0.4 Live
- 下一篇: 【ThinkingInC++】61、非成