2012-08-28 55 views
3

我不確定coreData的結構以及對象如何保存在目錄中。所以我知道的是你創建了一個UIManagedDocument的實例,併爲它創建一個URL並保存文件。然後你調用「SaveToURL」,當你調用這個函數時會創建什麼?它是核心數據棧嗎?那麼當您將信息保存到您聲明的實體中時,是爲了實體中的每組信息而在堆棧中創建的單獨文件?最後,UIManagedDocument的上下文究竟是什麼。核心數據使用UIManagedDocument創建什麼

這些

  1. 是什麼,當你調用「SaveToURL」創建的三個主要問題,它是一個文件或文件 或堆棧?
  2. 當您在實體中保存信息時,是否在此文件/堆棧中創建了單獨的文件 ?
  3. 什麼是UIManagedDocument上下文?

回答

10

我強烈建議您閱讀核心數據編程指南,並從Core Data Basics Chapter開始。

UIManagedDocument是一種特殊的文檔,UIDocument子類,存儲使用Core Data框架其數據。因此它結合了文檔體系結構和核心數據功能的強大功能。

您可以從Document Based App Programming Guide for iOS閱讀更多關於基於文檔的架構和我使用的iOS5會議視頻推薦WWDC2011存儲文件iCloud中。我也推薦斯坦福CS193P:iPad和iPhone應用程序開發(2011年秋季)講座13

  1. 當你調用saveToURL:forSaveOperation:completionHandler:UIManagedDocumentUIDocument的實現細節,你真的不應該擔心或依賴於它的什麼被創建。但是在當前的實現中,正在創建一個包含sqlite數據庫文件的文件夾。

  2. 號所有實體將包含在一個單一的數據庫文件還 更通常被稱爲:持久性存儲。有可能使用 多個持久性存儲,但那些更高級的使用 個案和UIManagedDocument目前使用一個。

  3. UIManagedDocument的上下文中是指一個NSManagedObjectContext從底層核心數據框架UIManagedDocument實際上並行操作其中兩個以將IO操作分離爲後臺線程。當涉及到上下文本身的性質這裏是從核心數據編程指南報價:

    你可以把管理對象上下文智能刮 墊。當您從持久性存儲中獲取對象時,可以將 臨時副本帶到它們形成對象圖 (或對象圖集合)的便箋本中。然後,您可以修改這些對象 ,但不管您喜歡。但是,除非實際保存這些更改,否則 持久性存儲保持不變。

但它確實是看一看講座和其他材料我上面貼得到所使用的技術的概貌和其潛在的價值,你在不同的情況下,開發人員是個好主意。

相關問題