2
我有一个基于CoreData的应用程序,支持摇动到撤消。目前这个工作正常,但是当我摇动设备时,撤消会立即发生,而不会首先显示NSUndoManager通常免费提供的通常的撤消提示。抖动撤消CoreData应用程序的工作,但没有撤消/重做提示
我从 “撤消架构” 文档阅读 “在iPhone上使用撤销” 是:
- 实施
canBecomeFirstResponder
,返回YES
- 使得视图控制器
becomeFirstResponder
在viewDidAppear
- 使视图控制器
resignFirstResponder
inviewDidDisappear
- 在视图控制器中重新指定
self.undoManager
作为读取/写入 - 创建一个
NSUndoManager
并设置self.undoManager
在UIViewController
init
方法(我已经验证了被调用)。 - 设置
self.managedObjectModel.managedObjectContext.undoManager
到self.undoManager
在设置者managedObjectModel
。再次,我已经证实这个问题正在被调用。如果我不这样做,撤消完全不起作用。
疑难解答我已经尝试过:
- 检查撤消事实上确实工作(我看到改变我的managedObjectModel回复)
- 验证
canBecomeFirstResponder
被称为 - 检查,如果访问
self.undoManager
是在撤销操作期间被调用(它不是)。
所以我的问题是:
- 在什么情况下不撤销工作,但没有表现出撤销的提示?
- 接下来你会尝试排除故障吗?