zoukankan      html  css  js  c++  java
  • KVO与KVC

    KVC是键值编码,只要是继承了NSObject的对象都支持kvc,由于NSObject支持一个NSKeyValueCoding的非正式协议

     [_receivedData setValue:@"moxue" forKey:@"name"];//修改值
     [_receivedData valueForKey:@"name"];//查看值

    KVO键值观察,当键值对发生改变时,通过新建一个观察键值,在被观察对象发生改变时,来做出事件响应。

        [[NSUserDefaults standardUserDefaults]setValue:@"myname" forKey:@"myname"];//设置键值
        [[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:@"myname" options:NSKeyValueObservingOptionNew context:nil];//对其进行键值观察,通过设置NSKeyValueObservingOptionNew参数,设置观察的值为最新数据
        [[NSUserDefaults standardUserDefaults] setValue:@"haha" forKey:@"myname"];//改变键值对
    
    
    -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
    {
        //keyPath为键值的Key,change参数储存改变的值的字典。
        if ([keyPath isEqualToString:@"myname"]) {
            NSLog(@"%@",[change valueForKey:@"new"]);//取出NSKeyValueObservingOptionNew最新数据。
        }
    }
  • 相关阅读:
    PHP基本语法
    SQL-还原数据库,数据库提示正在还原中的处理办法
    MyBatis学习笔记
    Java byte数据转换和处理总结
    JS和JQUERY的区别
    .NET 之 ORM 性能评测
    你必须知道的 SmartSql !
    SmartSql 介绍
    SmartSql 入门
    SmartCode.ETL 这不是先有鸡还是蛋的问题!
  • 原文地址:https://www.cnblogs.com/moxuexiaotong/p/4976325.html
Copyright © 2011-2022 走看看