KVC

//  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

 

你可能感兴趣的:(VC)