zoukankan      html  css  js  c++  java
  • KVC的学习

    KVC常用注意  两点一个是模型属性中没有的定义的属性在取的时候一定要在模型类重写GET方法,第二点是取字典中没有的Key也要在模型中重写取Key的方法。

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.demon=[[KVCdomen alloc]init];

      

    //    [self.demon setValue:@"小强" forKey:@"name"];

    //    [self.demon  setValue:@"18" forKey:@"age"];

    //    [self.demon  setValue:@"" forKey:@"sex"];

       // NSLog(@"%@",self.demon.name);

        NSDictionary*dic=@{@"name":@"wangyang",@"age":@"18" ,@"size":@"12"};//当我们的key在字典里面存在但是在模型里面不存在的情况下  我们要在Model里面重写set方法否则会崩

        

        [self.demon setValuesForKeysWithDictionary:dic];

     //   NSLog(@"%@",self.demon.name);

          //此处取字典里面没有的key   如果不写方法会崩 

        NSString*work=[ self.demon valueForKey:@"studentWork"];

        

        // Do any additional setup after loading the view, typically from a nib.

    }

     

     

     

      h文件的属性是字符串age ,

    @property (nonatomic,strong )NSString*name;

    @property (nonatomic,strong )NSString*age;

    @property (nonatomic,strong )NSString*sex;

    //这个方法在赋值时候没有对应属性时候调用

    .m文件  模型中

    -(void)setValue:(id)value forUndefinedKey:(NSString *)key{

     

        NSLog(@"key没有对应的属性%@",key);

    }

    //这个方法在取值时,取值没有器对应属性调用

    -(id)valueForKey:(NSString *)key{

     

        NSLog(@"%@你取的Key,没有对应的属性");

        return nil;

    }

     

  • 相关阅读:
    206.反转链表
    gprof
    Java【Stream流、方法引用】学习笔记
    Java【函数式接口(Supplier、Comsumer、Predicate、Function)】学习笔记
    Python exec 内置语句
    Python sorted() 函数
    Python oct() 函数
    Python id() 函数
    Python dir() 函数
    软件测试的方法
  • 原文地址:https://www.cnblogs.com/fengwuqingyang/p/4934198.html
Copyright © 2011-2022 走看看