NSPersistentStoreCoordinator
全部标签 我花了很多时间让我的CoreData模型在开发中的iOS应用程序中高效工作。在大多数情况下,我的一切工作都很顺利,但前几天我偶然遇到了一个独特的错误加载我的数据。我刚开始在我的iPhone上运行我的应用程序进行测试,就在它启动并开始使用CoreData加载数据时,我姐姐给我打电话。时机相当偶然,因为那个中断似乎从AppDelegate中的persistentStoreCoordinator调用了abort()函数。这是我指的代码:lazyvarpersistentStoreCoordinator:NSPersistentStoreCoordinator={//Thepersistent
我有一个函数有时运行时间太长。我想尝试运行它10秒钟,如果没有完成就将其杀死。我如何在iPhone上的ObjectiveC中执行此操作?对于一些在数据库中有大量数据的用户,创建持久存储协调器失败,因为对象模型合并花费的时间太长。我们已将该数据存储移出数据库,但我想在超过设定时间限制时终止模型合并,并删除数据库文件,以便用户可以继续使用该应用程序。NSPersistentStoreCoordinator*psc=[[[NSPersistentStoreCoordinatoralloc]initWithManagedObjectModel:[selfmanagedObjectModelFo
我有这种特殊情况,我的应用程序在一段时间内运行良好,但在一段时间后不一致地崩溃。我在崩溃期间遇到的错误是“无法使用nil模型创建NSPersistentStoreCoordinator”。我尝试调试我的应用程序,发现managedObjectModel有时会返回NULL。火上浇油,这个场景一点都不符合。managedObjectModel有一段时间没问题。但是,突然它返回NULL...这是我用来创建托管对象模型的代码。-(NSManagedObjectModel*)managedObjectModel{if(managedObjectModel_!=nil){returnmanaged
我有多个NSPersistentStoreCoordinator实例,每个实例只有一个NSPersistentStore,所有实例都指向同一个sqlite文件。在我的测试中,在它们之间传递NSManagedObjectID对象,然后调用-(NSManagedObject*)existingObjectWithID:(NSManagedObjectID*)objectIDerror:(NSError**)error在NSManagedObjectContext上似乎工作正常,但我还没有看到任何来自苹果的文档来确认这应该工作正常。所以,我的问题是,如果有人知道这是否应该起作用(指向某些苹果
我已经用(任务)建立了一个模型,在我理解核心数据的过程中,我做到了这一点:向上下文添加三个项目:NSManagedObjectModel*m=[NSManagedObjectModelmergedModelFromBundles:nil];NSPersistentStoreCoordinator*p=[[NSPersistentStoreCoordinatoralloc]initWithManagedObjectModel:m];//NSPersistentStore*pp=[paddPersistentStoreWithType:NSXMLStoreTypeconfiguration
"nspersistentstorecoordinatorhasnopersistentstores.itcannotperformasaveoperationbackgroundthread".在后台线程上保存manageContext会导致这个问题吗?抱歉,如果这个问题已经被问到。我想知道它发生的可能原因? 最佳答案 显然,您已经创建了一个基于内存的持久存储协调器,而不是使用SQLite数据库(通常情况)或XML进行存储的协调器。由于没有保存数据库的文件,因此您无法保存任何内容。检查创建持久存储协调器的代码。
我有一个已经使用CoreData的iOS7应用程序。我已经使用新的iOS7方法将iCloud集成到我的应用程序中,以使用以下代码为例来同步存储在核心数据中的项目:https://github.com/mluisbrown/iCloudCoreDataStack/blob/master/README.md这很好用,只是设备上的所有原始数据都没有显示在iCloud商店中。我一直听说我需要迁移数据-但我找不到任何有关如何正确执行此操作的示例。有谁知道如何做到这一点?我一直被指向使用migratePersistentStore:toURL:options:withType:error:,但我不
我们的应用程序需要一个核心数据轻量级迁移,因为我们已经为我们的实体添加了一些属性。在TestFlight上向我们的beta测试人员发布更新后,我们从其中一些人那里收到了应用程序在启动时崩溃的报告。在获取崩溃日志后,我们意识到springboardwatchdog正在终止应用程序,因为迁移时间太长。在线搜索资源后,似乎可以通过首先检查是否需要迁移而不触及CoreData堆栈来卸载application:didFinishLaunchingWithOptions:之外的迁移,并且选择在另一个ViewController中进行迁移。这是我正在尝试做的事情:-(BOOL)application
我正在使用CoreData构建一个iOS应用程序。我的一小部分用户(大约1/1000)报告说应用程序在启动后不久就崩溃了。我怀疑持久存储协调器未能将数据库添加为持久存储。我无法重现测试中的任何错误,也无法从我的用户那里获得任何调试信息。有谁知道此方法产生的任何常见错误?-(NSPersistentStoreCoordinator*)persistentStoreCoordinator{if(persistentStoreCoordinator_!=nil)returnpersistentStoreCoordinator_;NSURL*storeURL=[[selfapplication
我正在考虑使用两个persistentstorecoordinator,PSC1将仅读取一个sqliteDB,PSC2将读取和写入DB。有时PSC1会从DB重新加载内容。你觉得可能吗?你认为两个PSC可以以原子方式读/写DB,而不导致任何损坏吗?PSC是否对数据库进行任何锁定,以防止来自其他PSC的访问? 最佳答案 您可以让两个不同的NSPersistentStoreCoordinator实例访问相同的文件。事实上,几年前这是一种推荐的方法。但是,这样做存在一些问题。如果一个NSPersistentStoreCoordinator进