티스토리 뷰

Key-Value Coding Programming Guide - Adopting Key-Value Coding  - Designing for Performance

KVC 좋죠. 특히 기본 구현에 의지해서 대부분 작업을 할 때 편합니다만, 인다이렉션이 많아져서 직접 메소드 호출하는 것보다 느립니다. 그래서 KVC가 주는 장점인 유연성이 필요할 때만 사용하는 게 좋습니다. 또는 다른 코코아 기술을 사용할 때 사용하면 좋습니다.(cocoa binding, core data, kvc, applescript)


Overriding Key-Value Coding Methods

객체가 KVC를 사용하기 위해서는 일반적으로 NSObject를 상속하면 됩니다. 그리고 특정 프로퍼티 접근자와 이 가이드에서 나오는 관련된 메소드를 만들면 됩니다. 그리고 KVC의 기본 접근자인 valueForKey: setValue:forKey: 또는 유효성 검사를 하는 validateValue:for:Key 를 오버라이드 하는 일은 별로 없을 겁니다.

왜냐하면 이 구현은 퍼포먼스를 높이기 위해 런타임 환경에 대한 정보를 캐시하기 때문입니다. 혹, 커스텀 로직을 추가해야 한다면 리턴하기 전에 NSObject 혹은 슈퍼클래스에 있는 기본 구현은 호출해야 합니다.


Optimizing To-Many Relationships

일대다 관계를 구현할 때, 접근자의 indexed 형태는 많은 경우에 높은 성능은 제공합니다. 특히 변경 가능한 콜렉션일 때 


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함