objective-c - 有没有办法查看撤消堆栈?

标签 objective-c cocoa macos undo

我正在学习撤消,我想要一种方法来查看 undoManager 中的撤消对象(NSInvocation),这样我就可以看到发生了什么在。我在文档中看不到这样的内容,但也许有人知道办法。

谢谢。

最佳答案

你可以使用

class-dump -C NSUndo /System/Library/Frameworks/Foundation.framework/Foundation

了解undo相关类的内部结构。你会发现 NSUndoManager 有两个名为_undoStack 和_redoStack 的实例变量。它的结构非常明显,因此您可以编写一个打印堆栈的小方法。我发现这对于调试撤消相关问题非常方便。

关于objective-c - 有没有办法查看撤消堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570951/

相关文章:

iphone - NSMutableArray addObject,无法识别的选择器

objective-c - 确定是否绘制 NSView 的正确方法

objective-c - 默认[NSTableViewDelegate tableView :sizeToFitWidthOfColumn:] doesn't get called

Python Selenium Safari,禁用日志记录

ios - 一个 uibutton 是否可以设置另一个 uibutton 的标题,因为这两个 uibutton 都是在 Storyboard 中创建的?

objective-c - 在 tvOS 中呈现 View Controller

ios - 从另一个类修改 UIButton 的 alpha 属性

objective-c - 从文件中读取数据

objective-c - AFIncrementalStore:仅使用 ID 拉取相关实体

c++ - boost 进程运行 su