次のような状況があるとします。
NSTableView で別の行を選択すると、魔法のように NSArrayController (PersonController) の選択が更新されます。NSTableView はこれをどのように行っていますか? それは次のようなことをしますか:
- (void)bind:(NSString *)binding toObject:(id)observableController withKeyPath:(NSString *)keyPath options:(NSDictionary *)options;
{
if([observableController isKindOfClass:[NSArrayController class]]){
// got the NSArrayController, which can be used to change selection
} else {
// not an NSArrayController, don't try to change selection
}
//...
}
私は独自のバインド可能な NSControl を実装しているので、NSTableView のようにバインドされた NSArrayController の選択を変更したいのでお願いします。