코코아 바인딩 컨트롤러의 경우 최소한의 코딩만으로 model값이 변화할때 view와 model 사이의 싱크를 맞춰주는 역할을 한다.
애플에서 제공하는 각 클래스별 바인딩 가능한 키값들은 다음 문서
에서 확인하면 되고,
본 글에서는 자주 사용하는 바인딩 컨트롤러들의 상속구조를 살펴보고, 각각의 컨트롤러들에 어떤 키/경로 값을 설정할 수 있는지 정리해 보았다.
바인딩 컨트롤러 상속구조
- NSController -> NSObjectController
- NSController -> NSObjectController -> NSArrayController
- NSController -> NSObjectController -> NSArrayController -> NSDictionaryController
- NSController -> NSObjectController -> NSTreeController
- NSController -> NSUserDefaultsController
NSObjectController
- canAdd
- canRemove
- isEditable
- selectedObjects
- selection
NSArrayController
- arrangedObjects
- canAdd
- canInsert
- canRemove
- canSelectNext
- canSelectPrevious
- filterPredicate
- isEditable
- selectedObjects
- selection
- selectionIndex
- selectionIndexes
- sortDescriptors
NSDictionaryController
- arrangedObjects
- canAdd
- canInsert
- canRemove
- canSelectNext
- canSelectPrevious
- isEditable
- selectedObjects
- selection
- selectionIndex
- selectionIndexes
- sortDescriptors
NSTreeController
- arrangedObjects
- canAdd
- canAddChild
- canInsert
- canInsertChild
- canRemove
- isEditable
- selectedObjects
- selectedNodes
- selection
- selectionIndexPath
- selectionIndexPaths
- sortDescriptors
NSUserDefaultsController
- hasUnappliedChanges
- values