New project New Model NSPersistentDocument This NSPersistentStoreCoordinator has no persistent stores

▼魔方 西西 提交于 2019-12-11 05:45:54

问题


I have been searching stackoverflow and Googling for hours. I made a simple project to mess around with Core Data and bindings. It added an entity to the model and it wouldn't work any more. I was getting "This NSPersistentStoreCoordinator has no persistent stores It cannot perform a save operation" whenever I tried to add data to a new document. I followed every piece of advice I could find with no luck.

Finally, I made a new project (NSPersistentDocument based) and I made a new model from scratch. I made sure the model was perfect before I ran the project for the first time.

In WindowControllerDidLoadNib: The project calls a method to add data. Before addData routine, I log the ManagedObjectContext and the ManagedObjectModel. Neither of them are nil.

I am still getting this %$&#@! error.

Does anyone have any new ideas about this?

EDIT: Could this be because the new untitled document has never been saved? If so, how do you get around that? Can you save an untitled document? Do you really want to?

I had a similar problem a while back on a file import. Since I had full control, I named and saved the document and then I was able to save the context.


回答1:


As I indicated in the comment above, at least in Mountain Lion you have to save the document at least once before you can save the context. I did some experiments and the small amount of data that I changed was preserved by autosave without saving the context. I have changed my saveContext method to the following:

- (void)saveContext {

    if (![self fileURL]) {
        NSLog(@"Can't save context.  No file name has been set.");
        return;
    } 
    NSError *error = nil;
    if (![self.managedObjectContext save:&error]) {
        [NSApp presentError:error];
        NSLog(@"Error userInfo: %@",[error userInfo]);
        abort();
    }
}


来源:https://stackoverflow.com/questions/12131338/new-project-new-model-nspersistentdocument-this-nspersistentstorecoordinator-has

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!