我遇到了核心数据的问题。
简单的应用程序是创建文档,第一个视图控制器将显示我创建的所有文档,这些文档存储在核心数据库中。
当我在iOS模拟器上运行程序时,它运行正常。当我在iOS上连接iPad时在iOS设备上运行应用程序时,它也能正常工作。
但是,当我从Mac断开iPad或在xCode中停止运行该程序时,该应用程序仍然可以在我的iPad上运行。但是之前创建的所有文档都没有加载。我仍然可以创建文档,它们正确显示在视图控制器上。但是当我停止应用并再次启动它时,书架仍然是空的......那些文件没有从核心数据库中加载。
你能帮我解决这个问题吗?
谢谢!
答案 0 :(得分:0)
如果您的应用已部署到iOS 5.1或更高版本,那么您应该使用“文档/应用程序支持”文件夹,如果您不希望将它们备份到iCloud,也可以标记文档。我发现如果不存在,我需要创建“应用程序支持”。这是我使用的代码:
NSFileManager *manager = [NSFileManager defaultManager];
NSString *appSupportDir = [self applicationAppSupportDirectory];
if(![manager fileExistsAtPath:appSupportDir]) {
__autoreleasing NSError *error;
BOOL ret = [manager createDirectoryAtPath:appSupportDir withIntermediateDirectories:NO attributes:nil error:&error];
if(!ret) {
NSLog(@"ERROR app support: %@", error);
exit(0);
}
}
- (NSString *)applicationAppSupportDirectory
{
return [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject];
}