核心数据未在iOS设备上加载

时间:2012-09-09 13:39:47

标签: ios core-data device

我遇到了核心数据的问题。

简单的应用程序是创建文档,第一个视图控制器将显示我创建的所有文档,这些文档存储在核心数据库中。

当我在iOS模拟器上运行程序时,它运行正常。当我在iOS上连接iPad时在iOS设备上运行应用程序时,它也能正常工作。

但是,当我从Mac断开iPad或在xCode中停止运行该程序时,该应用程序仍然可以在我的iPad上运行。但是之前创建的所有文档都没有加载。我仍然可以创建文档,它们正确显示在视图控制器上。但是当我停止应用并再次启动它时,书架仍然是空的......那些文件没有从核心数据库中加载。

你能帮我解决这个问题吗?

谢谢!

1 个答案:

答案 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];
}