【发布时间】:2014-02-27 09:27:41
【问题描述】:
我对 NSUndoManager 方法有疑问
registerUndoWithTarget:selector:object:prepareWithInvocationTarget:
通常在示例中,“目标”是管理所有模型对象(通常在数组中)的控制器对象。
但是目标可以是一个单独的模型对象——撤消/重做操作要更改的模型对象吗?
guide 说的是registerUndoWithTarget:selector:object::
目标对象可能不是状态变化的实际对象;相反,它可能是客户端对象、包含许多可撤消对象的文档或容器。
为什么会有这个限制?该方法本身的文档中没有提到它。此外,prepareWithInvocationTarget: 方法也没有提及此类限制。
【问题讨论】:
-
如果您删除一个对象并将其用作目标 - 如果目标现在消失了,撤消如何工作?您将需要一些其他实例来编排操作 for 实际更改的对象
标签: objective-c cocoa nsundomanager