预加载核心数据的数据库来了黑UIManagedDocument(Pre load core data

2019-09-19 12:27发布

嗨支持专家......我在写我的第一个iPad应用程序,并有一个工作的β副本解析XML文件来创建UIManagedDocument核心数据DB上的应用程序启动。 然而,这需要很长的时间,我想这样做一次下线,并直接包括初始数据为我的应用程序捆绑。 不用说我打墙试图得到它的工作。

我第一次跟着命令行实用程序方法见这里这个工作,直到我进口.sqlite文件,并试图编辑persistentStoreCoordinator方法-我使用的是UIManagedDocument ,因此没有persistenStoreCoordinator在我的方法AppDelegate - 这个页面引用“在某些情况下,你没有写任何代码加载模式。如果您使用的Mac OS X基于文档的应用程序, NSPersistentDocument管理查找和加载应用程序的模型,你的任务。”

然后我试图复制UIManagedDocument从我的应用程序的工作版本的模拟器按照这个计算器问题,这似乎只是工作persistentStore是空的,所以我的表也是。 这就是问这个问题在这里但考虑到这一问题的响应时间为我右后卫修改NSPersistentStoreCoordinator ,我没办法。

我加了一个测试NSFetchRequest到我的代码,我复制UIManagedDocument从我的应用程序捆绑到文档目录-所以我知道我的UIManagedDocument在我的应用程序包是空的。 我试图拖动和从取景器删除和使用终端的应对 - 在persistentStore文件似乎被正确地移动,并有大小106 KB,但我还是在我的应用程序得到一个空数据库。

关于如何得到这个任何建议工作?

我是否需要使用configurePersistenStoreCoordinatorForURL:ofType:modleConfiguration:StoreOptions:error:为每UIManagedDocument类参考-如果是这样我将如何做呢?

我需要一些核心数据的方法添加到我的AppDelegate,所以我可以修改我的persistenStoreCoordinator方法-如果这样还有什么没有这种方法有什么关系?

我是不是更好的利用我的命令行utlity创建或在.sqlite DB persistentStore UIManagedDocument似乎使用?

Answer 1:

您可以通过访问持久存储区协调员parentContext

document.managedObjectContext.parentContext.persistentStoreCoordinator

或者,如果你仅仅意味着你没有访问该建立在核心数据堆栈是建立在持久性存储的方法,那么它看起来这是一种旨在用于该用途的挂钩,(你提到):

覆盖configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:自定义持久性存储的加载或创建。

但对于文档中该方法的讨论并不能说明什么做的非常好。 也许你可以忽略它,看看哪些对象,而不是在堆栈中已经创建,有可能连接到你的父上下文的初始化协调配置。 有关类似的命名方法的文档NSPersistentDocument就是这样所以也许UIManagedDocument也?



文章来源: Pre load core data database coming up black with UIManagedDocument