3
假設我有一個NSObject
代表一個國家的子類,將可可NSComboBox值綁定到對象
@interface CountryInfo : NSObject
@property (nonatomic, retain) NSString *countryName;
我的模型包含CountryInfo
秒的NSMutableArray
。我想將數組綁定到NSComboBox
。組合框應顯示國家名稱,並允許用戶選擇國家。
所以,我建立了我的.xib像這樣:
CountryArrayController(NSArrayController的)
ContentArray
- 綁定到:文件的所有者>型號主要路徑:自我.model.countries
NSComboBox
內容
- 綁定到:CountryArrayController>控制鍵:arrangedObjects
含量值
- 綁定到:CountryArrayController>控制鍵:arrangedObjects>型號主要路徑:國家名稱
到目前爲止,一切都很好。現在,如何綁定NSComboBox
的Value?該文件指出:
"An NSString or NSNumber that specifies the value of the NSComboBox."
這是什麼意思? 我注意到,我可以將其綁定到我的模型上的NSString
,並且它將反映所選的countryName
。但我想綁定到CountyInfo
對象本身!無論是直接還是通過綁定到我的陣列控制器上的選擇:我該如何設置?
您是否嘗試過使用NSValueTransformer? – macandyp
嗨@macandyp,是一個NSValueTransformer確實會工作,我可以通過綁定字符串值和手動轉換代碼來獲得相同的行爲。看起來奇怪的是,我必須編寫額外的代碼來實現這一點,並且不能僅僅綁定到對象(這是我習慣的)。謝謝! – TheNextman
我同意這有點奇怪。我知道如果你綁定到內容,而不是綁定內容值,它會調用你的類的描述來填充組合框的字符串。不過,我不知道這對你是否有所幫助。 – macandyp