2012-10-20 46 views
2

我正在學習Core Data,目前只是使用Interface Builder和XCode數據模型(遵循Aaron Hillegass Cocoa書籍示例)。我可以使用Interface Builder和Core Data將NSManagedObject添加到選定的父對象嗎?

我有一個MVC應用程序和核心數據的設置和在界面構建器(沒有手寫代碼)工作。我已經設置了各種陣列控制器,視圖和按鈕來添加和刪除對象並編輯數據並確定對象之間的關係。

但是,我的對象模型是嚴格的層次親子(和孫子),每個關係是一對多。所以當我添加一個子(或孫子)時,我想自動將當前在主tableView中選擇的父對象指定爲新子對象的父對象。

這是可能的界面生成器或者這是我必須開始編碼我自己的方法?

下一步的任何指針我應該看看或如何弄清楚自己非常讚賞。我只是有點卡住,找不到相關的教程或參考。

如果我描述我的文檔窗口,這可能會有所幫助。它有兩個帶有添加/刪除按鈕的tableViews。右側的tableView顯示左側tableView中選定的父對象的子對象的NSSet。我希望右側的添加按鈕添加一個新對象,並自動將其添加到所選父對象的子項中,以便它顯示在右側的tableView中。

目前,我可以在arrayController上看到的子對象的唯一方法是add和remove:但是當然它們不會將新對象連接到當前選擇的父對象。我是否需要將自己的(IBAction)方法添加到父對象,即addChildObject:?還是有內置的方式來基於父子關係在CoreData中自動添加子項?

回答

0

問題解決。我發現了一個教程(雖然有點過時)描述正是我想要做的事:

https://developer.apple.com/cocoa/coredatatutorial/index.html

而經過刻意下面仔細的每一步,我意識到我所做的一切都是對的,我剛剛錯過了一個結合:我只設置了子數組控制器的內容集,而不是其託管對象上下文(到文件的所有者)。這是我的添加按鈕沒有添加新的子對象的唯一原因!微不足道的錯誤,但是當你沒有信心時,你會質疑你是整個方法而不是尋找一個簡單的錯誤。很抱歉,任何必須閱讀本文的人都可以閱讀,但也可能鏈接到本教程將幫助某人。

相關問題