動的なbinding
プログラム上で Cocoa binding を行うには bind:toObject:withKeyPath:options: を使います。こんな感じで。
// binding のオプション // (NSValueTransformer の指定とか、初期値の指定とかいろいろ) NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys: NSNegateBooleanTransformerName, NSValueTransformerNameBindingOption, nil]; // binding 実施 [obj bind:@"value" // binding するプロパティ (enable とか selectedIndex とか) toObject:observer // binding 先 (NSController とか) withKeyPath:@"flag" // keypath 名 options:options]; // オプション
ちなみに binding の解除には unbind: の引数にプロパティをわたせばOK。