2013-02-11 73 views
0

我有一個使用核心數據的應用程序。它的模型有3個實體,全部通過一對多關係連接,如下所示:將對象添加到綁定的NSTableView - 核心數據應用程序

| E1 | < - >> | E2 | < - >> | E3 |

我的用戶界面本質上是一個3向垂直分割窗格,每個窗格都有一個tableview。它的工作方式是每個窗口遞增1層,實質上允許用戶從E1對象'鑽取'到E3對象,全部通過關係鏈接,類似於OSX finder中的選項。

每個表都由一個NSArrayController填充,從相關實體獲取數據,以及在前一個「下鑽」窗口中選擇的內容。如果我簡單地將一個按鈕連接到數組控制器的addObject方法,則這一切都可以正常工作,但是它創建的新對象是一個空行,我必須手動填寫。

我已經連接了添加按鈕來打開'Open Dialogue',它允許用戶選擇文件。然後,我遍歷返回的NSURL數組,並將文件信息添加到核心數據模型的E3實體。我打電話保存,但沒有出現在用戶界面中。我猜測這是因爲我添加的對象無法知道它屬於哪個E2,因此沒有顯示。

有沒有辦法將對象添加到具有關係的核心數據模型?例如,我可以看到在E2中選擇了什麼對象,然後添加與此關係的對象。我希望我已經明確了這一點。任何想法或建議都更受歡迎!

回答

0

我通過創建一個對象,設置它的屬性,然後在數組控制器上調用addObject:id來排序。

希望這可以幫助別人。

相關問題