【问题标题】:core data and undo errors plus no redo核心数据和撤消错误加上没有重做
【发布时间】:2011-04-03 11:41:13
【问题描述】:

所以问题: 我将一些项目放入编辑器区域,它创建了一个撤消分组......在幕后,因为删除项目的整个过程实际上是一个任务的集合。 如果我随后删除任务,我可以选择撤消删除。

如果我执行此撤消操作,我会在控制台中收到错误消息: _endUndoGroupRemovingIfEmpty:: NSUndoManager 0x343f5a0 处于无效状态,endUndoGrouping 调用没有匹配开始

它确实将所有项目返回到视图中,但是......从这一点开始,我的撤消堆栈被搞砸了,并且没有做正确的事情。从现在开始,REDO 甚至无法正常工作。

我也尝试过仅从工作流程中删除一项...然后撤消删除...仍然会引发错误。

所以有两个问题: 1.为什么会发生错误。 2. 为什么我的重做功能完全不正确?

感谢您的帮助

【问题讨论】:

    标签: cocoa core-data nsundomanager


    【解决方案1】:

    问题是我是 willChange 和 didChange 在 -undoManagerDidUndoOrRedo... 中的一些 KVO 值...这是当撤消管理器完成撤消操作时触发的通知,在该通知内部(撤消状态的内部系统)...所以我错误地创建了一些嵌套更改...这弄乱了我的撤消堆栈。

    【讨论】:

      猜你喜欢
      • 2011-05-31
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多