これらは見つけるのが難しいです。それらはさまざまなCocoaの本、さらにはAppleのドキュメントによってどこでも参照されているようですが、それらの説明を1か所にまとめている人は誰もいません。答えは、Appleは各コントローラークラスのドキュメント内でそれらを定義しているということです。
- NSObjectController(doc)
- NSArrayController(doc)
- NSDictionaryController(doc)
- NSTreeController(doc)
- NSUserDefaultsController(doc)
これらのドキュメントも役立ちます。
これらの「コントローラー」オブジェクトの継承は次のようになります(これは、「コントローラーキー」オプションの一部がどこから来ているかを見つけるために重要です)。
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.
特定のクラスのドキュメントで定義されていないコントローラーキーを見つけた場合は、おそらくそのスーパークラスで定義されています。以下は、上記のそれぞれで使用可能なすべてのコントローラーキーです(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
したがって、必要なものをリストから見つけ、そのコントローラークラスのドキュメントを調べると、その定義が見つかります。そこにない場合は、おそらくそのスーパークラス(NSObjectControllerなど)のドキュメントで定義されています。