2009-10-29 49 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实体必须包含相应的属性。