KVC 집합 접근자/변경자 메소드 작성방법

키밸류 코딩의 집합 접근자/변경자 메소드 to-many 관계의 프로퍼티에 대한 조정은 키밸류 코딩에서 배열 프록시를 통해서 이루어진다고 했다. 이 때 개별 원소를 추가/삭제/교체하는 작업의 효율을 높이고, 각 동작에 대해서도 KVO 지원을 가능하게 하기 위해서 배열 프록시와 연계하여 동작할 수 있는 집합 메소드를 추가로 정의하는 것이 강력하게 권장된다. 이들 메소드들은 기본적으로 NSMutableArray의 기본적인 액세스 메소드들에 키 이름이

(연재) 파이썬은 처음이라 – 리스트는 처음이라

지난 시간에 파이썬의 기본적인 값 타입에 대해서 살펴보았는데, 그 때 소개했던 리스트에 대해서 조금 더 자세히 알아보도록 하겠다. 리스트를 엄밀하게 정의하면 “0개 이상의 값의 원소들의 순서있는 집합“이라고 정의할 수 있다. 즉 일종의 집합(collection)이나 컨테이너(container)의 형태로 그 내부에 여러 개의 값을 원소로 가질 수 있으며 다른 언어에서는 배열(Array) 혹은 벡터(Vector)라 불리는 타입과 비슷하다. 리스트는 순서있는 집합이므로

키밸류 코딩의 검색 패턴과 그 동작방식

키밸류 코딩은 런타임에 문자열로 된 프로퍼티 이름을 키로 하여 임의의 객체로부터 고정된 접근자가 아닌 임의의 키를 통해서 특정한 프로퍼티 값을 액세스하는 기술이다. 이는 코드에 고정되지 않은 특정 프로퍼티를 접근할 수 있게 하여 유연성을 극대화하는 동시에 “코드를 작성을 줄여주는” 코코아의 여러가지 하위 프레임워크 기술들을 사용하는 근간이 된다. 키밸류 코딩 호환 클래스를 작성하는 기본적인 방법은 이전 포스팅에서

(연재) 파이썬은 처음이라 – 문법은 처음이라 : 예제편

지난 번 문법에 대해 설명하면서, 각 문법의 패턴에 한정해서 설명하면서 코드 소개를 가능한 피했었다. 이번 글에서는 각 구문별 코드의 예제와 각각의 코드가 어떤식으로 실행되는지를 설명하는 시간을 갖도록 하겠다. 또 이 작성하는 예제코드에는 몇 가지 기본 입출력 관련 함수가 등장한다. 내장 함수에 대한 토픽을 따로 마련할 생각이지만, 워낙 기본적인 함수나 메소드들은 진도에 무관하게 그 때 그

트랙킹 캔버스 뷰 만들기 (Cocoa)

예전에 코어 그래픽을 사용해서 UIView위에 손가락으로 그림을 그릴 수 있는 간단한 핑거 드로잉 캔버스를 구현해본 바 있는데, 똑같은 내용을 NSView에 적용해보고자 한다. 이전글이 Objective-C로 작성되어 있는데, 이번에는 Swift로 간단하게 작성해보려 한다. 원리는 동일하다. CGLayer를 하나 만들고, 마우스를 사용해서 뷰를 긁을 때(드래그할 때)마다  코어 그래픽을 사용해서 레이어에 그림을 그리고, 다시 뷰 리드로잉 사이클에서는 뷰에 레이어를 그리는