Questi sono difficili da trovare. Sembrano essere referenziati ovunque da vari libri di Cocoa e perfino dai documenti di Apple, ma non ho visto nessuno unificare una spiegazione di loro in un'unica posizione.La risposta è, Apple li definisce all'interno la documentazione per ciascuna classe controllore:
- NSObjectController (doc)
- NSArrayController (doc)
- NSDictionaryController (doc)
- NSTreeController (doc)
- NSUserDefaultsController (doc)
Questi documenti sono anche utili:
Ereditarietà per questi oggetti "controller" assomiglia in modo (questo è importante per scoprire dove alcune delle opzioni "Key Controller" provengono da):
NSController -> NSObjectController
NSController -> NSObjectController -> NSArrayController
NSController -> NSObjectController -> NSArrayController -> NSDictionaryController
NSController -> NSObjectController -> NSTreeController
NSController -> NSUserDefaultsController
// Note: NSController is an abstract class (don't worry about it). It inherits from NSObject.
Se si trova una chiave del controller non definita nei documenti per una particolare classe, è probabilmente definito nella sua superclasse. Di seguito sono riportati tutti i tasti del controller disponibili per ciascuno dei sopra (Xcode 3.2.1, Interface Builder 3.2.1):
// **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
filterPredicate
isEditable
selectedObjects
selection
selectionIndex
selectionIndexes
sortDescriptors
// **NSTreeController**
arrangedObjects
canAdd
canAddChild
canInsert
canInsertChild
canRemove
isEditable
selectedObjects
selectedNodes
selection
selectionIndexPath
selectionIndexPaths
sortDescriptors
// **NSUserDefaultsController**
hasUnappliedChanges
values
Quindi, trovare quello della lista che si desidera, consultare la documentazione per il controller classe, e troverai la sua definizione. Se non è lì, è probabilmente definito nei documenti per la sua superclasse (probabilmente NSObjectController).
fonte
2010-03-13 23:39:59
Grazie Dave, questo è molto utile! – Elisabeth
Sei più che benvenuto! Inoltre, ecco un'altra domanda simile a questa che ha anche alcune buone risposte: http://stackoverflow.com/questions/595257/what-does-controller-key-mean-in-interface-builder-inspector-bindings/2440523 –