배열 컨트롤러
배열 컨트롤러는 일련의 객체 집합을 다루는 바인딩 호환 객체이다. 여기서 ‘집합’은 주로 NSArray
인데, 코어데이터 등에서는 NSSet
을 쓰기도 한다. 배열 컨트롤러는 배열이 아니고 별도의 배열을 관리한다. 이는 배열을 자동으로 재정렬하거나, 선택된 객체들을 기억하거나 하는 배열 자체에 저장될 수 없는 몇 가지 메타 정보를 가지고 배열을 다루는 것을 도와준다.
배열 컨트롤러는 NSObjectController
의 서브클래스로, 다음 메소드를 통해서 초기화할 수 있다.
- (instancetype)initWithContent:(id)content
다시 NSObjectController는
NSController
의 자손인데, 이 컨트롤러는 객체의 편집 과정에 따른 이벤트를 발생시키는 기능을 갖고 있다.
- -objectDidBeginEditing:
- -objectDidEndEditing:
- -commitEditing
- -commitEditingWithDelegate:didCommitSelector:contextInfo:
- -discardEditing
- editing(property)
보통의 경우 배열 컨트롤러는 단독으로 쓰일일이 거의 없고, 코코아 바인딩에서 활용된다.