我有一个NSTextView / NSTextStorage组合,我想跟踪修改后的'文本存储的状态。
我可以直接观察文字的更改并更新我的修改日期'变量 - 问题是我需要UNDO才能工作 - 而UNDO也应该撤消modifiedDate。
如果每次文本更改时我都会更新我的modifiedDate变量,那么它可以正常工作 - 但TextView上的UNDO一次只能是一个字符(不可取)。
我确实尝试过寻找undoManagerWillCloseUndoGroupNotification并在那里更新我的modifiedDate,但我得到了同样的效果(单字符撤消)我认为它可能会滑动'在TextView撤消组中的modifiedDate撤消 - 但它看起来不是。
这是其中一项无法完成的事情 - 或者说它很简单 - 有人能让我摆脱困境吗?
由于
答案 0 :(得分:0)
'解决方案'是收到undoManagerDidOpenUndoGroupNotification时记录我的modifiedDate(第一个响应者是我的NSTextView)
要注意的其他事情是拖放到NSTextView上(当它不是第一响应者时) - 在这种情况下,我发现在readSelectionFromPasteboard中设置第一个响应者到我的NSTextView:覆盖我的NSTextView排序的东西。 / p>