1

私のMacアプリでは、[モデルm]は合成されたBOOLプロパティとivarrollAnimationsを持つカスタムオブジェクトです。また、animationsItemはNSMenuItemオブジェクトです。私のanimationsItemの状態を[Modelm]のrollAnimationsプロパティとivarにバインドしたいと思います。双方向バインディングが理想的です(どちらかのプロパティを変更するともう一方も変更されます)が、それが面倒な場合(サイクルを保持するなど)、メニュー項目を変更するとrollAnimationsが変更されるように一方向バインディングに落ち着きます財産。

これがコードスニペットです。動いていない。私は何が欠けていますか?

NSMutableDictionary *bindingOptions = [NSMutableDictionary dictionary];
NSNumber *yesNumber = [NSNumber numberWithBool:YES];
[bindingOptions setObject:yesNumber forKey:NSValidatesImmediatelyBindingOption];
[animationsItem bind:@"state" toObject:[Model m] withKeyPath:@"rollAnimations" options:bindingOptions];
4

1 に答える 1

6

Cocoa Bindings Referenceには、メニュー項目がサポートするすべてのバインディングがリストされています。必要なのは@"value"、ではなく@"state"です。(ちなみに、これはボタンにも当てはまります。)

于 2011-02-05T18:44:48.260 に答える