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

     1 //KVC(Key Value Coding)
     2 //KVC的作用给某个对象的属性赋值,和点语法中的赋值的作用相同
     3 Student *stu=[[Student alloc]init];
     4 [stu setValue:@"xiaowang" forKey:@"name"];
     5 NSLog(@"%@",stu.name);
     6 
     7 
     8 //KVO(Key Value Observer)
     9 //给学生对象添加观察者
    10 //第一个参数为谁去观察学生
    11 //第二个参数为观察学生的那个属性
    12 //第三个参数为观察方式
    13 
    14 //实例化学生对象
    15 stu=[[Student alloc]init];
    16 [stu setValue:@"zhangsan" forKey:@"name"];
    17 [stu addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
    18 //从新设置学生对象的name属性为xiaowang
    19 [stu setValue:@"xiaowang" forKey:@"name"];
    //观察者发现被观察的属性发生改变时调用该方法,谁是观察者就写在谁的.m里
    -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
    {
        NSLog(@"new:%@",[change objectForKey:@"new"]);
        NSLog(@"old:%@",[change objectForKey:@"old"]);
    }
  • 相关阅读:
    commons-dbutils实现增删改查(spring新注解)
    commons-dbutils实现增删改查
    配置扫描注解的包
    常用注解
    注入集合类型数据
    spring创建bean的三种方式
    switch
    jvm编译器的优化
    java9小工具jshell
    java三元运算符
  • 原文地址:https://www.cnblogs.com/y16879w/p/4466478.html
Copyright © 2011-2022 走看看