2010-06-09 21 views
2

想象一下,如果您將Core Data應用程序與兩個實體(Employee和Department)結合使用。員工與部門(部門)有一對一的關係,反之則是一對多的關係(員工)。在UI中,您可以選擇各個員工實體並在詳細信息區域中編輯詳細信息(當然還有其他屬性,並且有用於添加和編輯部門實體的UI)。當使用彈出式菜單按鈕的綁定是:與核心數據一起使用的NSComboBox的正確綁定是什麼

含量= PopUpArrayController.arrangedObjects
含量值= PopUpArrayController.arrangedObjects.name(名稱是一個NSString)
所選對象= EmployeeArrayController.selection.department.name

這允許觀看在彈出菜單中的所有部門,正確選擇當前員工的部門,並允許該部門按預期進行更改。目標是爲NSComboBox更改此設置,以便用戶可以切換到該框並鍵入部門名稱而無需切換到鼠標。我嘗試了許多不同的綁定來實現這一點。我甚至有它的一個運行工作,這些綁定:

含量= PopUpArrayController.arrangedObjects.name
值= EmployeeArrayController.selection.department.name

至少一次這種預期一樣(它甚至還添加了一個新的部門,當輸入的文本不匹配任何現有部門)。但是,現在它將顯示可用的部門並自動完成,但在組合框中更改值時,將不會使用正確的值更新模型。如果使用彈出式菜單設置或更改了部門,則組合框中會顯示正確的部門。

有人知道我失蹤了嗎?謝謝。

回答

3

所以我想出了至少一個這個問題的答案。簡短的版本是沒有辦法只是使用綁定來實現這種效果。我終於在網上找到了http://frankschmitt.org/2007/06/comboboxen,這給了我足夠的細節來解決問題(雖然帖子中的代碼格式有一些問題,但NSValueTransformer的文檔填補了漏洞)。

相關問題