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對應的屬性信息。
新聞熱點
疑難解答