Core Data意外地在每次启动时重新创建数据库

时间:2013-09-03 07:09:08

标签: ios core-data document nsfetchedresultscontroller

制作基于文档的核心数据应用程序。

我有一个从核心数据加载项目的方法。在我的应用程序中创建和加载项目时似乎工作得很好。这意味着正在核心数据文档中保存和获取信息。

问题是,每次打开我的应用程序时,都会创建一个新文档。这很令人困惑,如上所述,只要应用程序处于打开状态,我就可以保存和检索尽可能多的数据。

下面的代码在开发之前已经工作了几个星期但现在已经以某种方式破坏了。每次我启动应用程序时都会记录“创建文档”,然后我得到一个空白的文档,显然没有保存的数据。

- (void)openDatabase {
    if (![[NSFileManager defaultManager] fileExistsAtPath:[myManagedDocument.fileURL path]]) {
        [myManagedDocument saveToURL:myManagedDocument.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL sucess) {
            [self loadCurrentProjectFromCoreData];
             NSLog(@"CREATE DOCUMENT");
        }];
    } else if (myManagedDocument.documentState == UIDocumentStateClosed) {
            NSLog(@"DOCUMENT EXISTS, LOAD DOCUMENT");
        [myManagedDocument openWithCompletionHandler:^(BOOL sucess) {
            [self loadCurrentProjectFromCoreData];
        }];
    } else if (myManagedDocument.documentState == UIDocumentStateNormal) {
    [self loadCurrentProjectFromCoreData];
        NSLog(@"DOCUMENT LOADED");
    }
}

0 个答案:

没有答案