首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用UIManagedDocument中的自动保存

禁用UIManagedDocument中的自动保存
EN

Stack Overflow用户
提问于 2013-11-12 21:15:14
回答 2查看 639关注 0票数 3

有什么方法可以禁用UIManagedDocument的自动保存吗?

我在控制器中显示NSManagedObjects,用户可以在其中添加和删除它们。但是,当用户显式地触发保存操作时,我只想保存这些更改。否则,我想放弃更改。

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-18 22:06:27

不能在UIManagedDocument子类中覆盖下面的方法吗?

代码语言:javascript
复制
- (void)autosaveWithCompletionHandler:(void (^)(BOOL success))completionHandler

编辑:下面是一些您可能需要包括的其他方法。我使用第一个来确认自动保存是否发生以及何时发生,第二个用于调试某些错误,这些错误的细节无法以任何其他方式获得。这就是我的子类中的所有内容,所以添加以下内容非常简单。

代码语言:javascript
复制
@implementation YourManagedDocument


- (id)contentsForType:(NSString *)typeName error:(NSError *__autoreleasing *)outError
{
    NSLog(@"Auto-Saving Document");
    return [super contentsForType:typeName error:outError];
}

- (void)handleError:(NSError *)error userInteractionPermitted:(BOOL)userInteractionPermitted
{
    NSLog(@" error: %@", error.localizedDescription);
    NSArray* errors = [[error userInfo] objectForKey:NSDetailedErrorsKey];
    if(errors != nil && errors.count > 0) {
        for (NSError *error in errors) {
            NSLog(@" Error: %@", error.userInfo);
        }
    } else {
        NSLog(@" error.userInfo = %@", error.userInfo);
    }
}
@end
票数 3
EN

Stack Overflow用户

发布于 2013-11-12 21:33:08

有关详细信息,请参阅this SO answer,但除非显式保存NSManagedObjectContext,否则可以调用[managedObjectContext rollback]来撤消用户所做的任何更改。

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

https://stackoverflow.com/questions/19940038

复制
相关文章

相似问题

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