2009-09-21 85 views
3

我试图创建一个类似于Motion的属性视图的视图。NSTableView,多个单元格和绑定

​​

我的财产的每个对象包含它要显示作为一种细胞的定义。但同时,我想使用绑定,以便值可以自动更新,因为它们可以在其他地方更改。

我试过几种不同的方法来解决这个问题。

  • 多个单元格,dataCellForTableColumn:虽然这允许渲染所有类型的细胞正确的事情发生,我失去了绑定。 NSProxy:我也尝试过使用代理对象,我认为它会将所有方法转发到它后面的选定单元格类型,但是同样,绑定在这里似乎不起作用。

以前有人有过这种问题吗?或者这是绑定不会削减的情况之一,我需要自己去做沉重的举动?

干杯!

回答

0

我没有真正测试过它,但是当你使用dataCellForTableColumn时你不应该丢失绑定:row:?你能更详细地描述你尝试过的绑定方法吗?

您应该能够将列的值绑定到对象的“value”属性。然后,如果在dataCellForTableColumn中返回正确类型的单元格:row:它应该正确显示。

编辑:---删除无偿不正确的意见关于小区VS意见:)

+0

这主要是因为你说的 - 我已绑定一个NSArrayController表列,值显示正确,如果我使用NSTextFieldCell。当我改变它们时它们也被正确编辑(它在我的Property对象上调用适当的setObjectValue:)。 但是,当我返回一个NSSliderCell,它正确设置值,但是当我拖动滑块,它不会相应地设置值。 – 2009-09-21 23:47:22

+0

我刚刚尝试过一个测试示例,并且您说得对,它只会以您描述的方式失败。 我不确定我没有正确设置(在绑定?表示对象等方面?),然后再返回它。 希望有人知道更多将在这里权衡。 – 2009-09-22 06:20:00

+0

我不确定这是否是“正确”的方式,但如果我设置表视图的数据源,并且只实现tableView:setObjectValue:forTableColumn:row:,它又简单地调用setObjectValue:on my Property类,一切似乎工作。 我很想听听有没有其他方法,但现在,这对我很有用。 – 2009-09-22 08:38:34

相关问题