1. kvc(key value coding)
key를 가지고 value를 설정하거나 value를 가져올 수 있다.
이 것을 기반으로 프로그래밍 하는 기술
아래 샘플과 같이 사용할 수 있다.
2. 샘플 코드
@interface People : NSObject
@property (retain, nonatomic) NSString* name;
@property (retain, nonatomic) NSString* addr;
@end
@implementation People
@synthesize name;
@synthesize addr;
@end
int main()
{
People* p1 = [[People alloc] init];
p1.name = @"kim"; // 프라퍼티 일반 방식
NSLog(@"%@",p1.name);
// kvc key value coding
[p1 setValue:@"park" forKey:@"name"];
NSLog(@"%@",p1.name);
char s1[32]={0};
char s2[32]={0};
printf("프라퍼티 이름>>");scanf("%s",s1);
printf("프라퍼티 값>>");scanf("%s",s2);
// kvc가 없다면
if(strcmp(s1, "name")==0) p1.name = [NSString stringWithUTF8String:s2];
else if(strcmp(s1,"addr")==0) p1.addr = [NSString stringWithUTF8String:s2];
// kvc 사용 (xml 파싱)
[p1 setValue:[NSString stringWithUTF8String:s2] forKey:[NSString stringWithUTF8String:s1]];
NSLog(@"%@",p1.name);
NSLog(@"%@",p1.addr);
return 0;
}
'교육 > Objective-C' 카테고리의 다른 글
[Objective-C] protocol (0) | 2016.08.01 |
---|---|
[Objective-C] kvo(key value observing) (0) | 2016.08.01 |
[Objective-C] block (0) | 2016.07.26 |
[Objective-C] property (0) | 2016.07.26 |
[Objective-C] 메모리 관리 (0) | 2016.07.26 |