1월, 2019의 게시물 표시

[iOS] KVC(Key Value Coding) 알아보기

안녕하세요. 이번에 준비한 자료는 KVC(Key Value Coding) 으로 Property 접근을 문자열로 통해 접근하는 방식을 말합니다. KVO(key Value Observing) 을 사용 하기 위해서는 위의 KVC 규약으로 사용하여야 Property의 변화된 값을 Notification을 받을 수 있습니다. 두 기능 다 iOS 2.0 부터 지원되는 기능으로 오래된 기능이지만, 사용하지 않아도 실시간으로 값을 받는거는 불가능하지 않다보니 크게 신경쓰고 못하고 있었습니다. 하지만 프로젝트를 진행함으로써 하나의 키를 바라보는데, 무분별한 Notification을 줄이고, 해당 Property의 값이 변하는걸 확실하게 체크하고자 KVC, KVO 를 정리하려고 합니다. 현재 정리기준은 Objective C 부터 할 예정이며, Swift 4.x 버전부터 KVC의 스타일이 바뀌어 추가적으로 한번더 Swift 4.x 버전대로 정리하도록 하겠습니다. Sample App :  http://github.com/kimjiwook/KVCDemo KVC 우선 KVC 사용 방법을 간단한 예제를 통해 설명해 보도록 하겠습니다. 지금까지 우리가 name 이라는 Property 의 접근하여 사용하는 방법으로는 1 2 self.name  =  @“KimJw”; _name  =  @“KimJw”; cs 이렇게 두가지 방법을 통해 가장 많이 사용하고 있을 것입니다. 이제 위의 접근 방법을 KVC 형식으로 변경해 보도록 하겠습니다. 1 [self setValue:@“KimJw” forKey:@“name”]; cs 추가적으로 KVC방법으로 값을 추출하는 방식입니다. 1 NSLog (@“%@“, [self valueForKey:@“name”]); cs 앞서 간단한 예제로 보시면 어렵지 않게 접근 할 수 있습니다.  이제부터는 객체의 방식으로 접근하는 방법을 예제를 통해 진행해보도