Cocoa 在文档加载时禁用NSEndomanager分组调用

Cocoa 在文档加载时禁用NSEndomanager分组调用,cocoa,swift,nsundomanager,Cocoa,Swift,Nsundomanager,NSUndoManager将在同一运行循环中发生的调用分组在一起 我想加载一个包含撤消历史记录的文档 因此,我创建了一个文档并一个接一个地应用调用,但是这些调用都很快被添加,导致一次撤销 有没有一种方法可以更改NSUndoManagers运行循环或其他内容,以便获得单独的撤销调用 我已尝试禁用groupsByEvent并创建我自己的beginUndoGrouping,但似乎不起作用您是否尝试关闭顶级组并在添加调用后再次打开它?例如: undoManager.endUndoGrouping()

NSUndoManager将在同一运行循环中发生的调用分组在一起

我想加载一个包含撤消历史记录的文档

因此,我创建了一个文档并一个接一个地应用调用,但是这些调用都很快被添加,导致一次撤销

有没有一种方法可以更改NSUndoManagers运行循环或其他内容,以便获得单独的撤销调用


我已尝试禁用groupsByEvent并创建我自己的beginUndoGrouping,但似乎不起作用

您是否尝试关闭顶级组并在添加调用后再次打开它?例如:

undoManager.endUndoGrouping()

// add your undo invocations

undoManager.beginUndoGrouping()

没有顶级分组要关闭,所以我只是用这种方法崩溃了。似乎我需要在所有的“添加”操作中使用beginUndoGrouping()和endUndoGrouping(),但我不确定这是否是正确的行为。我的想法是,顶级的beginUndoGrouping应该会影响到撤消管理器的所有后续“添加”。。。