在CoreData应用程序上进行抖动撤消工作,但没有显示撤消/重做提示

我有一个基于CoreData的应用程序,它支持shake-to-undo。这当前工作正常,但是当我摇动设备时,撤消立即发生,而没有首先显示NSUndoManager通常免费提供的通常撤消提示。 我从“撤消架构”文档中读到了“在iPhone上使用撤消”,并且: 实施
canBecomeFirstResponder
,返回
YES
viewDidAppear
中制作视图控制器
becomeFirstResponder
viewDidDisappear
中制作视图控制器
resignFirstResponder
将视图控制器中的
self.undoManager
重新声明为读/写 在
UIViewController
init
方法中创建一个
NSUndoManager
并设置
self.undoManager
(我已经验证了它被调用)。 在
managedObjectModel
的设定器中将
self.managedObjectModel.managedObjectContext.undoManager
设定为
self.undoManager
。再次,我已经证实这是被调用的。如果我不这样做,撤消根本不起作用。 疑难解答我已经尝试过: 检查撤消确实有效(我看到我的managedObjectModel的变化已恢复) 正在调用
canBecomeFirstResponder
检查在撤消操作期间是否正在调用访问者
self.undoManager
(它不是)。 所以我的问题是: 在什么情况下撤消工作但不显示撤消提示? 接下来你会尝试解决这个问题?     
已邀请:
我最终跟踪了一些遗留代码,这些代码是手动捕获摇动动作并在undoManager上调用undo; motionEnded的一个实现:在视图控制器中。删除后,我再次开始获取撤消提示。     

要回复问题请先登录注册