首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心数据自动保存与手动保存

核心数据自动保存与手动保存
EN

Stack Overflow用户
提问于 2014-11-19 02:08:16
回答 1查看 236关注 0票数 1

在我的项目中使用核心数据时,我只在添加新数据时手动保存上下文。对数据的任何其他编辑,例如标题更改或删除,我一直依赖于自动保存。然而,我注意到,如果我做了一个编辑,我的应用程序崩溃了,在重新加载时,我在崩溃之前所做的更改不会出现。正因为如此,我决定在每次编辑后手动保存上下文。这是不是很糟糕的做法?当我第一次开始使用核心数据时,我的印象是你想要自动保存而不是手动保存。在iOS斯坦福大学关于核心数据的讲座中,教授建议依靠自动保存,并在调试时实现手动保存。

我按如下方式进行手动保存:

代码语言:javascript
复制
-(void) updateSaveContext
{
    [self.document saveToURL:self.document.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:^(BOOL success) {
        if(success)
        {
            NSLog(@" NEW FILE SAVED");
        }
        else
        {
            NSLog(@"FAIL TO SAVE");
        }
    }];
}
EN

回答 1

Stack Overflow用户

发布于 2014-11-19 04:18:41

好的,你的NSManagedObjectContext是一个便签簿。您所做的所有更改都是在该便签簿上完成的。当您订购要保存的UIManagedDocument时。它将验证您在对象模型中设置的所有规则。如果其中一个失败,它将不会保存它,并且在日志记录中,您将发现来自Core Data框架的Cocoa错误。通常是缺少实体的必需属性,或者缺少无效的必需关系。

你得到了什么Cocoa错误?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27001003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档