你的位置:首页 > 操作系统

[操作系统]iOS.OC.02 KVC


KVC 是key,value,coding的缩写,即键值编码。在iOS中,可以通过类的属性的名称(key),来间接访问对象的属性信息。

 

建一个工程,创建一个Person类,它有两个属性,name和age。

Person.h:

 

#import <Foundation/Foundation.h>

 @interface Person : NSObject

{

  NSString * name,age;

}

 @end

 

 

ViewController.h:

在ViewController.h文件中引入Person类头文件,ViewController有一个Person类型的属性jay。

 

#import <UIKit/UIKit.h>

#import "Person.h"

 @interface ViewController : UIViewController

 @property(nonatomic,retain)Person * jay;

 @end

 

ViewController.m:

#import "ViewController.h"

@interface ViewController ()

@end

 @implementation ViewController

 - (void)viewDidLoad {

    [super viewDidLoad];

    //创建Person对象jay

    _jay=[[Person alloc]init];

 

    //通过key,value设置对象jay的信息

    [_jay setValue:@"纠结伦" forKey:@"name"];

    [_jay setValue:@"30" forKey:@"age"];

    

     //通过Person的属性访问jay这个对象的信息。

    NSLog(@"%@",[_jay valueForKey:@"name"]);

    NSLog(@"%@",[_jay valueForKey:@"age"]);

}

 打印结果:

2015-03-21 15:31:27.536 OMG[1677:116165] 纠结伦

2015-03-21 15:31:27.537 OMG[1677:116165] 30

 

  一个类(Person)的对象(jay)通过setValue:forKey语句,来设置对象属性的信息,其中Key就是类(person)的属性,也是该对象(jay)的属相,这里的key分别是name和age,通过key设置它们的信息。再通过对象调用valueforkey:语句可以访问到key对应的属性信息。