我正在使用nsdocument与其nsundomanager结合使用。我注意到将NSDocument UpdateChangeCount设置时有一个延迟
[undoManager registerUndoWithTarget:self selector:@selector(applyUndoState:) object:state];
NSLog(@"Document.isEdited: %d", [self isDocumentEdited]);
如果在此呼叫之前未修改文档,则将显示" 0"。似乎在此方法退出后的某个时候,Undomanager调用UpdateChangeCount。有没有办法迫使Undomanager更新文档UpdateChangeCount?我可以手动打电话
if (![self isDocumentEdited])
[self updateChangeCount:NSChangeDone];
,但我不知道这是否可以安全地与Undomanager互动。
nsundomanager组自动撤消事件,直到当前事件结束为止,它关闭了当前组并处理它。
我不确定您将如何解决这个问题,因为我不确定您为什么要isDocumentEdited
立即更改。