Key-Value Coding Programming Guide - Adopting Key-Value Coding - Designing for PerformanceKVC 좋죠. 특히 기본 구현에 의지해서 대부분 작업을 할 때 편합니다만, 인다이렉션이 많아져서 직접 메소드 호출하는 것보다 느립니다. 그래서 KVC가 주는 장점인 유연성이 필요할 때만 사용하는 게 좋습니다. 또는 다른 코코아 기술을 사용할 때 사용하면 좋습니다.(cocoa binding, core data, kvc, applescript) Overriding Key-Value Coding Methods객체가 KVC를 사용하기 위해서는 일반적으로 NSObject를 상속하면 됩니다. 그리고 특정 프로퍼티 접근자와 이 가이드에서 나오는 관련된 메소드..
Key-Value Coding Programming Guide - Adopting Key-Value Coding - Decribing Property RelationshipsClass description은 클래스에 있는 일대일, 일대다 프로퍼티를 기술하는 메소드를 제공합니다. 클래스 프로퍼티 간에 이러한 관계를 정의하면, KVC코딩을 보다 잘 사용할 수 있습니다. Class DescriptionsNSClassDescription 클래스에 메타데이터를 얻을 수 있는 인터페이스를 제공합니다. class description 객체는 특정 클래스 객체의 사용가능한 attributes를 기록하고, 또한 해당 클래스의 객체와 다른 객체간의 관계(일대일, 일대다)도 기록합니다. 예를 들어 attributeKeys ..
Key-Value Coding Programming Guide - Adopting Key-Value Coding - Adding ValidationKVC 프로토콜은 key나 keypath에 대해서 검증하는 메소드를 가지고 있습니다. 이 메소드들의 기본 구현은 접근자 메소드와 비슷하게 naming patterns을 따릅니다. validate:error: 메소드를 사용해서 key값을 검증합니다. validateValue:forKey:error:메시지에 반응해서 동작합니다. 프로퍼티에 대한 검증 메소드를 만들지 않으면, 기본적으로 값에 상관없이 유효하다고 판단합니다. !Note이 문서를 objc 에만 해당합니다. swift에서는 컴파일러가 알아서 해주는데 , 더 자세한 정보는 The Swift programm..