Cocoa Binding Controller Keys

코코아 바인딩 컨트롤러의 경우 최소한의 코딩만으로 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