我正在處理顯示只讀數據的應用程序。 它更像是一本書。預填充只讀應用程序的核心數據
使用SQLite很容易,但我對性能不滿意並試圖使用Core Data。
問題是預填充核心數據是它是一個艱難的過程。
我的問題是: 是否有可能建立一個助理iphone應用程序(供我使用),它使用相同的數據模型進行預填充。 ,然後取出填充的.xcdatamodel文件並在我的原始應用程序中使用它?
我希望這是有道理的:)
艾德
我正在處理顯示只讀數據的應用程序。 它更像是一本書。預填充只讀應用程序的核心數據
使用SQLite很容易,但我對性能不滿意並試圖使用Core Data。
問題是預填充核心數據是它是一個艱難的過程。
我的問題是: 是否有可能建立一個助理iphone應用程序(供我使用),它使用相同的數據模型進行預填充。 ,然後取出填充的.xcdatamodel文件並在我的原始應用程序中使用它?
我希望這是有道理的:)
艾德
我相信你問的是你是否可以創建一個CoreData數據庫的前期,並將其複製到iPhone。那是對的嗎?
This article將有所幫助。這裏有一個報價:
我因此建議以下五個步驟:
這是可能的,我已經做到了。
http://www.mac-developer-network.com/columns/coredata/may2009/
我不得不改變CSV部分的工作方式,而且要修改模型:我這裏使用的代碼做了一個桌面應用程序從一個CSV文件中讀取。
applicationDidLaunch
方法中將sqlite複製到iPhone上的文檔文件夾(如果它不在那裏)。有可能它在資源文件夾中是不好的。即使您將數據庫用作只讀數據庫,Core Data也可能想要寫入數據。不知道這個雖然..桌面和iPhone核心數據sqlite文件似乎是完全相同的格式。只要它們具有相同的數據模型,您就可以將一個sqlite文件傳輸到另一個應用程序(iPhone到iPhone)。在另一個應用程序中,我使用NSXMLParser創建了Core Data sqlite文件,然後使用Simulator將它傳輸到另一個應用程序,都在iPhone上。
也謝謝你nevan ..這個解決方案對我來說有點複雜,因爲我是一個新手,但你明確地表達了這個概念。 – Adhamox 2009-11-12 13:26:01
是的,你的數據源可以是你想要的任何東西。其他建議是很好的。創建一個與您想在您的應用中使用的管理對象模型(.xcdatamodel)相同的管理對象模型。讀入文件中的數據,創建一個新的託管對象實例並從文件中填充它。然後保存,並潛入iPhone模擬器中的軟件包並複製它。這還有額外的好處,就是所需的格式,以及所有有用的元數據。複製你的對象模型和你的託管對象類,你很好。
請注意,如果您確實希望它是隻讀的,並且您在安裝時使用它,它將安裝在已完成的應用程序包中(位於應用程序/ {SIGNATURE} /Myapp.app下) 。如果您打算編輯此數據庫或允許用戶保存該數據庫,最好將其複製到您的用戶數據庫所在的Applications/{SIGNATURE}/Documents目錄中。
嗨Benjamin 我已閱讀此頁面。 我的問題是: 我可以使用一個獨立的程序,專門用於填充CoreData數據庫,並且在我輸入數據後,我將填充的數據文件從文檔目錄複製到我的主包中。 要重寫: can我用獨立的應用程序替換CVS文件步驟以輸入數據? – Adhamox 2009-11-12 04:03:43
當然。只需消除步驟1.然後將第3步替換爲允許您自己插入信息的屏幕,而不是解析任何數據文件。核心數據文件是其核心內容,只要您的.xcodedatamodel文件在項目之間相同,您就可以複製該文件並且它將起作用。 – 2009-11-12 10:11:57
謝謝:)這是有幫助的 – Adhamox 2009-11-12 13:25:25