当应用程序终止/被杀死时,将删除核心数据获取的数据

时间:2015-06-30 18:36:28

标签: ios core-data core-data-migration

我在使用核心数据的应用程序时遇到了一个奇怪的问题。它可以创建和存储数据,但是当它被终止或终止时,数据就不再出现了。有时会出现在数据块中(如果有10个对象,则稍后只会出现1或2个对象)。

我的核心数据堆栈以这种方式组织:http://martiancraft.com/blog/2015/03/core-data-stack/

此外,这仅在使用AppStore配置文件运行Testflight构建时发生。当我使用XCode在设备中运行应用程序时,它可以正常工作。

我提取数据的方式如下:

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Organization" inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"priority" ascending:NO];
[request setSortDescriptors:@[sortDescriptor]];

NSError *error;
_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:moc sectionNameKeyPath:nil cacheName:nil];
_fetchedResultsController.delegate = self;

if (![_fetchedResultsController performFetch:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

我真的很感激一些帮助。

1 个答案:

答案 0 :(得分:0)

如果你很少崩溃并且很少保存会导致问题。要么停止崩溃(最好的方法),要么更频繁地保存(绑带)。