2012-01-04 20 views
2

基於視圖的NSTableView的與單個列結合。每個「單元」包含幾個NSTextFields,一個NSImageView和一個NSButton,所有這些都綁定到Table Cell View的objectValue的各種屬性。 NSTableView的內容綁定到NSArrayController的ArrangeObjects,它處於Entity模式並綁定到相關的NSManagedObjectContext。NSButton參數在基於視圖的NSTableView的

的NSTextFields和NSImageView像預期的那樣。但是,由於某種原因,NSButton沒有。它總是被禁用。我已經將其參數綁定到objectValue的屬性及其目標文件的所有者。實驗表明它是參數綁定而不是引起麻煩的目標綁定。印象是參數值必須是零,所以導致按鈕被禁用。但它確實不行,因爲其他綁定(NSTextFields等)工作正常。

我用button參數/目標綁定在基於細胞的表視圖很多次都沒有問題。所以我想也許有一些基於視圖的表格視圖的特點,這意味着這種綁定不起作用。但Apple的TableViewPlayground示例使用此方法(在HUD面板中)沒有問題。我的綁定以完全相同的方式設置。我可以看到唯一的區別是Apple的例子使用類模式數組控制器,而我的是實體模式。但我不能相信這是問題(或至少我非常希望這不是因爲這將是一個嚴重的弱點),

回答

7

我花了幾個小時,在此完全相同的問題。在我的情況下,NSTableView的委託也沒有設置爲文件所有者。一旦設定好,所有東西都開始正常運作。

+0

不幸的是,這並不使我的情況下,任何的區別。 – jfewtr 2012-06-26 00:58:54

+1

這個答案適合我,謝謝。爲了jfewtr:確保你考慮選擇(你需要像'的方法 - (空)buttonAction:(ID)發送;',它的工作除了你可以嘗試添加':選擇在後' IB – 2012-11-13 13:05:11

+3

已確認 - 如果tableView的委託爲零,則不會發送按鈕操作。 – 2014-09-03 11:33:16

相關問題