Key-Value Coding Programming Guide - Key-Value Coding Fundamentals - validating PropertiesKVC코딩 프로토콜에는 프로퍼티 값을 검증하는 메소드가 있습니다. KVC에서 key(path)로 프러퍼티에 접근해서 get이나 set하는 것처럼 프로퍼티 검증을 합니다. validateValue:forKey:error, validateValue:forKeyPath:error:메소드를 이용하면 됩니다. 이 메소드는 기본적으로 메시지를 받은 객체나 keypath끝에 있는 객체에 validate:error:패턴에 해당하는 메소드가 있는지 찾습니다. 만약 그런 메소드가 없으면 기본적으로 YES를 리턴합니다. 만약 존재하면 메소드에 구현된대로 작동합니다...
Key-Value Coding Programming Guide - Key-Value Coding Fundamentals - Representing Non-Object ValuesNSObject에 있는 KVC 프로토콜 메소드는 기본적으로 객체와 객체가 아닌 프로퍼티에도 작동합니다.(여기서 객체가 아닌 프로퍼티는 구조체 와 int, BOOL, char 등 primitive(원시 타입)을 가리킵니다. 이건 또 sacalar값이라고도 부릅니다.) 기본적으로 set할 때 객체 인자값이나 get 할 때 리턴값과 non-object 프로퍼티를 자동으로 변환합니다. 이렇게 하면 key-based getter와 setter가 스칼라 타입이나 구조체에서도 동일하게 작동합니다. !!! 스위프트에는 모든 프로퍼티가 객체이기 ..
Key-Value Coding Programming Guide - Key-Value Coding Fundamentals - Using Collection operatorsKVC를 이용해서 valueForKeyPath:를 할 때 collection operator를 키패스에 넣어 사용할 수 있습니다.아래 이미지와 같이 사용합니다. collectionOperator는 몇 가지 있고, 리턴값을 받기 전에 collection data를 operator에 맞게 조작해서 값을 리턴합니다 ( avg, sum, count, etc). 이런 기능은 NSObject 구현돼 있습니다. - Left key path : 컬렉션 위치를 표시하는 키패스* 콜랙션에 바로 접근할 경우에 left key path는 없어도 됩니다. - ..
