我正在尝试设置一个撤消组,该组跨越在平移手势识别器期间发生的所有更改。被修改的对象是来自 Core Data 的 NSManagedObjects。
当手势进入“开始”阶段时,代码启动撤消组并关闭按事件分组。在“结束”和“取消”阶段,组结束并重新打开按事件分组。
在识别器的每次“更改”时,都会更新相同的核心数据对象。随后,Core Data 为该特定更改创建一个新的撤消组。
有什么办法可以获得核心数据来阻止它?或者我是否需要更改在这种情况下处理撤消的方式?
我这里有一个示例项目,其中包含 BBQMainViewController.m 的 handlePanGesture: 方法(第 82 行)中的相关代码。该项目在每次更新识别器时将撤消堆栈打印到控制台。如您所见,撤消堆栈构建和构建。如果您注释掉第 168 行,撤消堆栈不会建立。