본문 바로가기

교육/Objective-C

[Objective-C] kvc(key value coding)

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