【发布时间】:2012-07-14 09:57:59
【问题描述】:
您好,支持专家...
我正在编写我的第一个 iPad 应用程序,并且有一个可以解析 XML 文件以在应用程序启动时创建 UIManagedDocument Core Data DB 的工作测试版副本。但是,这需要很长时间,我想在离线后完成,并将初始数据直接包含到我的应用程序包中。
不用说,我试图让它发挥作用是在碰壁。
我首先遵循命令行实用程序方法,请参阅here 这一直有效,直到我导入 .sqlite 文件并尝试编辑 persistentStoreCoordinator 方法 - 我使用的是 UIManagedDocument,所以没有 @ 987654329@ 方法在我的AppDelegate - this page 引用“在某些情况下,您不必编写任何代码来加载模型。如果您在 Mac OS X 上使用基于文档的应用程序,NSPersistentDocument 管理任务为您查找和加载应用程序的模型。”
然后我尝试按照this StackOverFlow question从模拟器中我的应用程序的工作版本复制UIManagedDocument
这似乎有效,除了persistentStore 是空的,因此我的表也是。这正是here 提出的问题,但对该问题的回答让我重新开始修改我没有的NSPersistentStoreCoordinator 方法。
我在代码中添加了一个测试NSFetchRequest,我将应用程序包中的UIManagedDocument 复制到了文档目录中——所以我知道我的应用程序包中的UIManagedDocument 是空的。我尝试从 finder 拖放并使用终端进行处理 - persistentStore 文件似乎已正确移动并且大小为 106 KB,但我的应用程序中仍然有一个空数据库。
关于如何让它工作的任何建议?
我是否需要按照UIManagedDocument 类参考使用configurePersistenStoreCoordinatorForURL:ofType:modleConfiguration:StoreOptions:error: - 如果需要,我该怎么做?
我是否需要将一些核心数据方法添加到我的 AppDelegate 中,以便我可以修改我的 persistenStoreCoordinator 方法 - 如果需要,此方法还需要做什么?
我是使用我的命令行实用程序创建的 .sqlite DB 还是使用 persistentStore UIManagedDocument 似乎更好?
【问题讨论】:
-
我想我解决了这个问题并写在这里:stackoverflow.com/questions/8683892/…
标签: ios core-data preload uidocument nspersistentstore