首页 > 其他 > 详细

KVC的学习

时间:2015-11-03 20:54:49      阅读:185      评论:0      收藏:0      [点我收藏+]

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;

}

 

KVC的学习

原文:http://www.cnblogs.com/fengwuqingyang/p/4934198.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!