2012-08-12 52 views
0

我試圖在基於非文檔的(單協調器)應用程序中使用CoreData。我已經搜索了一個很好的例子,並測試了一些不同的方式,但是 - 作爲Mac OS X開發人員的完全新手 - 卻找不到任何可行的方法。在Mac OS X中使用單文檔應用程序的核心數據

基本上我有一個應用程序,其中NSTableView列出了幾個條目,每個條目都可以被編輯並保存其相關數據。這些數據不是基於文檔的,而應該存儲在某種「中央商店」中。我的模型設置得很好,我可以手動填充表格中的項目。問題僅僅在於:我如何使用CoreData來持久保存數據,以便下次啓動應用程序時可以再次加載數據。

有一個很好的單行摘要,我在這裏尋找的內容: 「這些應用程序通常具有單個控制器對象管理的單個核心數據堆棧(由單個持久存儲協調器定義)。爲整個應用程序使用單個持久存儲。「

http://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/CoreDataSnippets/Articles/stack.html

是否有良好的教程或簡單的代碼樣本在那裏我可以看到如何做到這一點?

回答

1

你爲什麼不創建一個新的Xcode項目,選擇Cocoa應用程序並檢查使用核心數據標誌,但不是基於文檔的標誌,然後再看一下Xcode中產生的?

要麼在您的項目中複製該項目,要麼在新模板中移動現有代碼。

+0

Xcode中的默認模板經常過時,並且不適合運輸應用程序。此外,至少一旦你必須從地面建立一個CoreData堆棧:) – Stream 2012-08-12 13:21:53

+0

當然。但是,如果像OP一樣,你不知道從哪裏開始,研究模板通常是一個非常好的主意。模板的問題是有些人生成它們,只是使用它們而沒有真正學習和理解它們的工作方式。我並不是建議只使用它,我建議他創建它,然後查看代碼。 – 2012-08-12 13:48:33

+0

哇。愚蠢的錯誤。我可以發誓我使用CoreData創建了應用程序,但我沒有。這就是爲什麼我沒有示例代碼。該死的,在這上面浪費了幾個小時......:/ – Aron 2012-08-12 18:04:17

1

Tim Isted有一個偉大的sample project。在這一系列文章中,作者解釋瞭如何使用CoreData構建鞋盒應用程序,如何支持Undo,多個託管對象上下文等等。您可能需要將源代碼適應現代Cocoa環境,但這應該是完全值得的。