2012-05-26 64 views
4

我正在使用基於視圖的NSTableViews,這些NSTableViews使用綁定和數組控制器填充核心數據。一切都很好 - 包含文本和按鈕的單元格以及包含圖像和文本的單元格 - 我也可以編輯文本等。如何在基於視圖的NSTableView中從CoreData填充NSPopupButton

我無法弄清楚並且無處不在搜索的是如何填充彈出式菜單。有2個陣列控制器,一個用於表格視圖,另一個用於彈出按鈕菜單項。

我試圖結合在彈出菜單中經典的方式:通過結合內容(arrangedObjects到實體地方),含量值(arrangedObjects Place.name),和選擇的對象(表單元格視圖objectValue.places.name

應該不是所有的控件都應該像基於視圖的tableviews中的普通控件一樣工作嗎?菜單沒有被填充,但是如果tableView的實體已經設置了值/關係,那麼值正確顯示。謝謝, 丹

回答

5

我認爲這裏有一個bug,我面對完全相同的問題。這是我的解決方法:

取代將彈出式按鈕直接綁定到IB的數組控制器,我在我的筆尖的文件所有者中放置了一個插座(名爲arrayController)到NSArrayController,並將彈出按鈕這樣的:

settings

+1

證實。這對我來說固定的問題。 – Byron

+0

它不適合我。我一定做錯了什麼。我有一個基於視圖的表格,一個插座,並嘗試綁定按鈕和按鈕單元格。有什麼明顯的我忘記了嗎? – markjs

+0

我在10.8(XCode 4.6)上遇到了完全相同的問題。解決方法也不適用於我。有沒有人對此有過報道? – Lukas

1

檢查了這一點:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaBindings/Tasks/onerelation.html

http://www.tbef.se/blog/2006/08/31/core-data-bindings-nstableview-and-nspopupbuttoncell/

檢查只設置了3個參數!

內容
綁定到:LanguagesArrayController
控制鍵:arrangedObjects
型號主要路徑:

含量值
綁定到:LangsArrayController
控制鍵:arrangedObjects
型號主要路徑:名稱

所選對象
綁定到:CoursesArrayController
控制鍵:arrangedObjects
型號主要路徑:語言