2011-02-06 75 views
1

我无法得到我的头:我有一个实例NSMutableArray充满自定义Lesson对象。这些对象有两个propertiesnameselected。我试图在NSTableView中使用这些Lesson对象。一列应显示name作为字符串,其他selected作为复选框。我用可可绑定+ NSArray +自定义类

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex 

方法返回的名字,这工作得很好,但返回的selected价值不能按预期工作 - 这可能是因为该方法被调用过于频繁。

所以,这可以很容易地解决使用数据源方法,或者我应该使用Interface Builder并设置一些绑定?后者听起来更好,但我不知道如何将自定义对象的设置 - NSArray带入IB。

我将不胜感激一些想法,费边

回答

1

看来,bindins将工作在你的情况还不错。 您应该使用一个NSArrayController绑定到您的课程对象数组,我们称它为“lessonsArray”。 选择NSArray控制器并将其“型号关键路径”设置为“课程阵列”。 您必须创建setter和getter到“lessonsArray”,否则它将无法工作。

将绑定绑定到NSArrayController后,必须将NSTableView绑定到它。在现实中,你现在真正需要绑定的是NSTableColumns,我想你有两个:name和selected。其绑定到NSArrayController的这个配置: 控制键:arrangedObjects 型号主要路径:选择

我希望我能理解并帮助你。祝你好运

相关问题