2015-01-01 15 views
1

NSUndoManager将调用组合在一起发生在同一个runloop中。在文档加载时禁用NSUndoManager对文档加载的调用

我想加载一个文档,其中包含撤消历史。

因此,我创建了一个文档并逐个应用调用,但是这些调用都非常快速地添加,导致一次性撤消。

有没有办法可以改变NSUndoManagers的runloop或其他东西,这样我可以得到单独的撤消调用?

我曾尝试禁用groupsByEvent和创造我自己的beginUndoGrouping但它似乎没有工作

+0

看来,我需要包装一个beginUndoGrouping()和endUndoGrouping()周围的所有我的“添加”操作的,我不知道如果我觉得这是正确的行为,虽然。我的想法是,一个顶级的beginUndoGrouping应该会影响所有后续的“添加”到撤销管理器... – Chris

回答

0

您是否尝试过重新关上顶层组,打开它你将你的调用后?例如: -

undoManager.endUndoGrouping() 

// add your undo invocations 

undoManager.beginUndoGrouping() 
+0

没有顶级的组合关闭,所以我只是碰到这种方法 – Chris