0

我正在开发一个应用程序,其中“非顺序”撤消机制对于某种类型的操作是可取的。对于非顺序,我的意思是可以有选择地撤消动作,而不考虑它们在历史中的顺序(例如:有 5 个动作,我可以撤消其中任何一个而不影响其余的动作)。所以我的问题是,这可能与 NSUndoManager 或其他类似的类吗?还是我必须自己实现这个功能?

更新:我想要完成的类似于有一个可以加或减数字的总和。然后可以以任何可能的顺序撤消这些加法和减法(这不会产生任何不良副作用,因为所有值都对总和有效)。

4

1 回答 1

0

很难知道这是否适合您,但我使用了一组撤消管理器并根据上下文“激活”它们。如果您的行为不能以这种方式分开,那么就会提出一个问题,即您的行为是否可以完全分开。

通常,一个动作取决于先前动作产生的状态,并且试图撤消在最近的动作之前发生的动作不能完全撤消或产生不良副作用。

您将不得不更具体地说明您要完成的工作。

于 2013-11-13T00:01:38.457 回答