Key-Value Coding Programming Guide - Adopting Key-Value Coding - Achieving Basic Key-Value Coding Compliance객체에 KVC를 적용할 때, NSObject나 NSobject를 상속받은 객체를 상속받아서 NSKeyValueCoding 프로토콜의 기본구현을 사용합니다. 기본 구현은 차례대로 개발자가 정의한 객체 인스턴스 변수(이하, ivars)와 접근자 메소드에 에 따라 작동합니다. ivars나 접근자 메소드는 특정 패턴에 따라 이름이 지어집니다. 이렇게 하면 KVC 메시지를 받을 때 key에 대응 할 수 있습니다. @preperty지시자를 이용해서 프로퍼티를 선언하면 간단히 오브젝트비 C의 표준 패턴을 따를 수 있습니다. 그..
Key-Value Coding Programming Guide - Key-Value Coding Fundamentals - Accessor Search PatternsNSObject에 있는 NSKeyValueCoding 프로토콜의 기본 구현은 명확하게 작성된 룰의 의해서 key-based accessor 호출을 객체의 기본 프로퍼티에 연결시킵니다. 이런 프로토콜 메소드들은 key 파라미터를 사용해서 접근자, 인스턴스 변수, 특정 네이밍 규칙을 따르는 관련 메소드에 대한 객체 인스턴스를 찾습니다. 이 기본 검색을 바꿀일은 거의 없지만 이해하면 KVC를 따르는 객체가 어떻게 동작하는지 알 수 있고 custom 객체에 KVC를 적용하는데 도움이 됩니다. !Note아래에 나오는 or 는 KVC프로토콜 메서드에 ..
https://forum.wordreference.com/threads/probable-possible-result.1772504/https://forum.wordreference.com/threads/likely-possible-feasible-probable.302288/https://forum.wordreference.com/threads/likely-possible-probable.292503/https://forum.wordreference.com/threads/its-possible-but-its-not-probable.1899982/https://forum.wordreference.com/threads/it-is-possible-that-vs-it-is-probable-that.1903270/
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는 없어도 됩니다. - ..
Key-Value Coding Programming Guide - Key-Value Coding Fundamentals - Accessing Collection PropertiesKVC를 사용하는 객체에 일대다 프로퍼티는 다른 프로퍼티와 마찬가지로 set이나 get을 사용할 수 있습니다.key나 keypath와 관련된 set, get 메소드를 사용하면됩니다. 그리고 콜렉션 요소를 다루고 싶을 수 도 있습니다.그럴 때는 NSKeyValueCoding에 있는 proxy메소드를 사용하는 게 좋습니다이 프로토콜에는 콜렉션 객체에 접근하는 3가지 다른 proxy 메소드가 있습니다. 각각은 key, keypath로 나눠집니다. mutableArrayValueForKey: and mutableArrayValueFor..
Key-Value Coding Programming Guide - Key-Value Coding Fundamentals - Accessing Object Properties객체 인터페이스에 선언된 프로퍼티는 Attributes, To-one relationships, To-many relationships에 속한다.Attributes : 간단한 값들... 스칼라, strings, Boolean 값과 NSNumber은 객체, NSColor같은 불변타입 등...To-one relationships : 객체안에 객체 프로피터가 1:1관계To-many relationships : collections 객체들 Listing 2-1Properties of the BankAccount object@interface ..
Key-Value Coding Programming Guide - Getting Started - About Key-Value CodingKey-Value Coding Programming https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/KeyValueCoding/index.html#//apple_ref/doc/uid/10000107-SW1 Getting Started - about KVC(Key-Value Coding) 키-밸류 코딩이란 문자열(키)를 사용하여 객체의 인스턴스변수에 간접적으로 접근해서 값을 수정하거나 얻을 수 있는 방법. 이 방법을 사용하면 코드 가독성을 올리고, 코드 양도 줄일 수 있다. 또한 객체를..