使用NSTextStorage和UNDO跟踪修改状态

问题描述:

我有一个NSTextView/NSTextStorage组合,我想跟踪文本存储的“修改”状态。使用NSTextStorage和UNDO跟踪修改状态

我可以简单地观察文本的变化并更新我的'modifiedDate'变量 - 问题是我需要UNDO也可以工作 - 而UNDO也应该撤销modifiedDate。

如果我每则文本更改它的工作时间更新我的modifiedDate变量 - 但撤消TextView的将是一次一个字符

我也尝试找undoManagerWillCloseUndoGroupNotification和更新我的modifiedDate(不可取的。)在那里,但我得到了相同的效果(单个字符撤消)我认为它可能'滑''撤消在TextView撤消组中的修改日期撤消 - 但它似乎没有。

这是无法完成的事情之一 - 或者很简单 - 有人能让我摆脱不幸吗?

感谢

的“解决方案”是记录我的modifiedDate接收undoManagerDidOpenUndoGroupNotification时(和第一响应者是我NSTextView)

观看的另一件事是拖/拖放到NSTextView(当它不是第一响应者) - 在这种情况下,我发现设置第一响应者到我的NSTextView在readSelectionFromPasteboard:覆盖我的NSTextView排序的东西。