NSUndoManager 中的重做堆栈



我知道NSUndoManager一旦注册新的撤消操作就会清除重做堆栈。有没有一种优雅的方法来防止重做堆栈被清除"n"个撤消操作?我不想禁用撤消操作的注册。我只想防止重做堆栈被清除。

更新:我真的很喜欢NSUndoManager提供的功能。所以我最终为堆栈使用了两个NSMutableArray,并使用NSInvocation来执行堆栈弹出和推送。如何向 Apple 提供反馈?

不幸的是,我不知道有什么方法可以防止重做堆栈被清除。NSUndoManager的语义不允许这样的事情。如果你想要一个更复杂的撤消/重做树,你需要实现你自己的或在网络上找到一个开源的解决方案。

相关内容

  • 没有找到相关文章

最新更新