2009-10-29 54 views
2

在我的應用程序中我有一個NSObjectController綁定到用戶界面上的所有控件。迄今爲止,這工作得很好。我唯一的問題是將一個NSComboBox的選擇綁定到同一個ObjectController。據我今天發現,ComboBox的值始終是一個字符串,所以OBjectController的類中的字段也是一個NSString.Sounds,對我來說很簡單,但不起作用。可可綁定:將NSComboBox選擇綁定到NSObjectController中的字段

我總是得到一個「......類不是鍵值編碼兼容的關鍵...

的ComboBox控件本身來自另一控制器,NSArrayController的項目。但那部分工作正常。 Array中的所有項目都是ComboBox中的項目。我有的問題是選擇到ObjectController。

+0

請發佈完整的例外信息。 –

回答

2

這只是說,無論NSObjectController使用的數據模型對象是否沒有適合該值的鍵方法。

從查看可可綁定參考文檔,應該將value綁定設置爲NSObjectController中的一個鍵,該鍵與其模型中的鍵值編碼兼容鍵相對應。

實施例:

NSObjectController模式是Class,類名稱是foo。然後你將foo的密鑰comboSelection綁定到NSComboBox的value。什麼異常,說的是Foo類沒有一個方法叫做comboSelection

- (NSString*)comboSelection; 
- (void)setComboSelection:(NSString*)inSelection; 

在使用的NSMutableDictionary作爲NSObjectController的類的情況下,它更容易,因爲字典可以持有任意鍵。

如果您使用的是CoreData(mode = Entity),那麼您的CoreData實體必須包含相應的屬性。