3

NSObject国を表すサブクラスがあると仮定します。

@interface CountryInfo : NSObject

@property (nonatomic, retain) NSString *countryName;

私のモデルには の が含まれていNSMutableArrayますCountryInfo。配列をにバインドしたいNSComboBox。コンボ ボックスには国名が表示され、ユーザーが国を選択できるようにする必要があります。

だから、私は.xibを次のように設定しました:

CountryArrayController (NSArrayController)

コンテンツ配列

  • バインド先:ファイルの所有者> モデル キー パス: self.model.countries

NSCボボックス

コンテンツ

  • バインド先: CountryArrayController > コントローラー キー: ArrangeObjects

内容値

  • バインド先: CountryArrayController > コントローラー キー: ArrangeObjects >モデル キー パス: countryName

ここまでは順調ですね。さて、の値をバインドする方法はNSComboBox?ドキュメントには次のように記載されています。

"An NSString or NSNumber that specifies the value of the NSComboBox."

これは何を意味するのでしょうか?NSStringこれをモデルの にバインドすると、選択した が反映されることに注意してくださいcountryNameCountyInfoしかし、私はオブジェクト自体にバインドしたい! 直接、またはアレイ コントローラのセレクションにバインドする方法: これを設定するにはどうすればよいですか?

4

2 に答える 2

10

私はこの間違った方法に近づいていました - 使用する正しいコントロールNSPopUpButtonNSComboBox.

NSComboBoxユーザーがテキストを直接入力するシナリオをサポートする必要があるため、動作が異なります。NSPopUpButton定義済みの値のセットでのみ機能するように設計されており、「選択」バインディングに対して期待どおりに動作します。

于 2013-05-16T20:37:38.123 に答える