NSMenuItemの有効状態をNSArrayControllerの選択にバインドするにはどうすればよいですか?アイテムの有効状態をコントローラーのselectedObjectsまたはselectedIndexesにバインドしようとしましたが、どちらの場合も、選択がある場合にmenuitemが有効になることはありません。IBで、「有効にする」チェックボックスをオフにしました。テーブルに選択がある場合にNSMenuItemを有効にしたいだけです。私のテーブルでは複数選択が可能で、selectedObjects。@ countにバインドされたボタンも使用しており、ボタンは期待どおりに有効/無効になっているため、同じキーパスを使用してもメニュー項目で機能すると思いましたが、違います。グーグルで答えが見つからないので難しいことではないので、簡単だと思います。ありがとう
1203 次
1 に答える
0
有効なバインディングはBOOL
値を取得する必要があり、残念ながら古いオブジェクトをブール値のTrueとして扱うだけではありません。ただし、幸いなことに、NSValueTransformer
そうするのは簡単です。IBのバインディングペインで使用できるNSValueTransformer
クラスリファレンスに名前が付けられた定数がいくつかあります。
この場合、モデルキーパスを「selectedObjects」にバインドし、「ValueTransformer」フィールドに「NSIsNotNil」と入力できます。トランスフォーマーは、バインディングBOOL
に必要な値を提供します。
于 2011-03-30T18:37:47.587 に答える