首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NSUndoManager中使用MagicalRecord

在NSUndoManager中使用MagicalRecord
EN

Stack Overflow用户
提问于 2012-09-10 09:50:01
回答 1查看 713关注 0票数 0

正如我们所知,在iOS上,NSManagedObjectContext没有默认的NSUndoManager实例。如果我们想要在核心数据中支持undo/redo,我们需要实例化我们自己的。

下面是我在appDelegate中写的内容:

代码语言:javascript
复制
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[MagicalRecord setupAutoMigratingCoreDataStack];
NSUndoManager *undo = [[NSUndoManager alloc] init];
[[NSManagedObjectContext MR_context] setUndoManager:undo];

return YES;
}

但后来,当我观察到:

代码语言:javascript
复制
NSLog(@"%p", [NSManagedObjectContext MR_context].undoManager);

结果始终是nothing,这意味着undoManager从未被实例化。有人能建议在使用MagicalRecord时添加撤消/重做支持的正确方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-07 16:58:23

下面的代码不起作用,因为您使用MR_context创建了一个新的上下文。这个新的上下文将在语句之后被释放。

代码语言:javascript
复制
[[NSManagedObjectContext MR_context] setUndoManager:undo];

您想要设置默认上下文的撤消管理器

代码语言:javascript
复制
[[NSManagedObjectContext MR_defaultContext] setUndoManager:undo];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12344526

复制
相关文章

相似问题

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