标签:
// UserModel.h // KVC // // Created by 张国锋 on 15/7/20. // Copyright (c) 2015年 张国锋. All rights reserved. // #import <Foundation/Foundation.h> @interface UserModel : NSObject @property (nonatomic,strong)NSString * userName; @end // UserModel.m // KVC // // Created by 张国锋 on 15/7/20. // Copyright (c) 2015年 张国锋. All rights reserved. // #import "UserModel.h" @implementation UserModel @end // StudentModel.h // KVC // // Created by 张国锋 on 15/7/20. // Copyright (c) 2015年 张国锋. All rights reserved. // #import <Foundation/Foundation.h> @interface StudentModel : NSObject @property (nonatomic,strong)NSString * studentName; @property (nonatomic,strong)NSString * sex; /*........*/ @end // StudentModel.m // KVC // // Created by 张国锋 on 15/7/20. // Copyright (c) 2015年 张国锋. All rights reserved. // #import "StudentModel.h" @implementation StudentModel { NSString *_age; NSArray *_friends; } -(void)setValue:(id)value forUndefinedKey:(NSString *)key{ NSLog(@"UndefinedKey:%@",key); } @end
// ViewController.h // KVC // // Created by 张国锋 on 15/7/20. // Copyright (c) 2015年 张国锋. All rights reserved. // #import <UIKit/UIKit.h> @interface ViewController : UIViewController @end // // ViewController.m // KVC // // Created by 张国锋 on 15/7/20. // Copyright (c) 2015年 张国锋. All rights reserved. // #import "ViewController.h" #import "UserModel.h" #import "StudentModel.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // UserModel *userModel=[UserModel new]; UserModel *userModel=[[UserModel alloc]init]; userModel.userName=@"邓超"; NSLog(@"%@",userModel.userName); StudentModel *studentModel=[StudentModel new]; //原理:编译器会首先查找setStudentName,会从属性里面去找studentName,如何再没找到,他会找_studentName。 [studentModel setValue:@"孙俪" forKey:@"studentName"]; NSLog(@"%@",[studentModel valueForKey:@"studentName"]); [studentModel setValue:@"18" forKey:@"age"]; NSLog(@"%@",[studentModel valueForKey:@"age"]); [studentModel setValue:@[@"Baby",@"daheiniu",@"猎豹凯"] forKey:@"friends"]; NSLog(@"%@",[studentModel valueForKey:@"friends"]); NSDictionary *dic=[NSDictionary dictionaryWithObjects:@[@"18",@"范爷",@"女"] forKeys:@[@"age",@"studentName",@"seex"]]; StudentModel *fanye=[StudentModel new]; [fanye setValuesForKeysWithDictionary:dic]; // [studentModel setValuesForKeysWithDictionary:]; // } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
标签:
原文地址:http://www.cnblogs.com/0515offer/p/4665452.html