基于核心数据的iOS应用程序的一些客户偶尔会丢失数据。这些报道非常奇怪,这就是我想要请你承担这个问题的原因。客户报告说,当他们在一段时间(几分钟,几小时或次日)后重新打开应用程序时,他们的一些数据丢失,就好像底层数据库恢复到之前的状态一样。核心数据没有明显原因地恢复到以前的状态
我一直与核心数据工作了好几年,从来没有遇到过这样的问题。该应用程序非常简单,这意味着我只使用一个托管对象上下文,并且在应用程序转到后台之前提交更改。
我意识到这是一个远射,但什么可能是这种类型的问题的一些潜在原因或我可以做什么检查以收集更多信息?不幸的是,我不能自己重现这个问题,这会让这一切变得更容易。
更新:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (_persistentStoreCoordinator) return _persistentStoreCoordinator;
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Prime.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:@{ NSMigratePersistentStoresAutomaticallyOption : @YES, NSInferMappingModelAutomaticallyOption : @YES } error:&error]) {
// Error Handling
}
return _persistentStoreCoordinator;
}
你设置任何['pragma'选项](http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/Articles/cdPersistentStores.html#//apple_ref/ doc/uid/TP40002875-SW12)在您的商店? –
@DanShelly号我已经用你指的代码片段更新了这个问题。 –
当**完全**您是否保存更改? –