KVC (Key Value Coding) Objective-C 允許以字符串形式間接操作對(duì)象的屬性茄唐,這種方式的全稱是 Key Value Coding (簡稱KVC),即鍵值編碼羊初。
最基本的 KVC 由 NSKeyValueCoding 協(xié)議提供支持,最基本的操作屬性的兩個(gè)方法如下:
setValue:屬性值 forKey:屬性名 >> 為指定屬性設(shè)置值
valueForKey:屬性名 >> 獲取制定屬性的紙
HDPerson.h
#import <Foundation/Foundation.h>
@interface HDPerson : NSObject
// 使用@property定義3個(gè)property
@property (nonatomic, copy) NSString * name;
@property (nonatomic, copy) NSString * pass;
@property (nonatomic, copy) NSDate * birth;
@end
- main.m
#import <Foundation/Foundation.h>
#import "HDPerson.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//創(chuàng)建HDPerson對(duì)象
HDPerson * person = [[HDPerson alloc] init];
//使用KVC方式為name屬性設(shè)置屬性值
[person setValue:@"黑點(diǎn)" forKey:@"name"];
//使用KVC方式為pass屬性設(shè)置屬性值
[person setValue:@"1233" forKey:@"pass"];
//使用KVC方式為name屬性設(shè)置屬性值
[person setValue:[[NSDate alloc] init] forKey:@"birth"];
//使用KVC獲取HDPerson對(duì)象的屬性
NSLog(@"person 的 name 為: %@",[person valueForKey:@"name"]);
NSLog(@"person 的 pass 為: %@",[person valueForKey:@"pass"]);
NSLog(@"person 的 birth 為: %@",[person valueForKey:@"birth"]);
}
return 0;
}
2016-10-25 17:31:39.124 OC_KVC[31849:1185578] person 的 name 為: 黑點(diǎn)
2016-10-25 17:31:39.125 OC_KVC[31849:1185578] person 的 pass 為: 1233
2016-10-25 17:31:39.135 OC_KVC[31849:1185578] person 的 birth 為: 2016-10-25 09:31:39 +0000
點(diǎn)擊下載GitHub源碼