2009-09-21 92 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

相關問題