我有一个基于CoreData的应用程序,它支持shake-to-undo。这当前工作正常,但是当我摇动设备时,撤消会立即发生,而不会首先显示NSUndoManager通常免费提供的通常撤消提示。
我从“撤消架构”文档中读到了“在iPhone上使用撤消”,并且是:
canBecomeFirstResponder
,返回YES
becomeFirstResponder
viewDidAppear
resignFirstResponder
viewDidDisappear
self.undoManager
重新声明为读/写NSUndoManager
self.undoManager
方法中创建UIViewController
并设置init
(我已经验证了该方法已被调用)。self.managedObjectModel.managedObjectContext.undoManager
的设置器中将self.undoManager
设置为managedObjectModel
。再次,我已经证实这是被调用的。如果我不这样做,撤消根本不起作用。故障排除我已尝试过:
canBecomeFirstResponder
self.undoManager
(不是)。所以我的问题是:
答案 0 :(得分:3)
我最终跟踪了一些遗留代码,这些代码是手动捕获摇动动作并在undoManager上调用undo; motionEnded的一个实现:在视图控制器中。删除后,我再次开始获取撤消提示。