标签:
// 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