NSUndoManager 在某些情况下停止撤消
我尝试使用 Core Data 在我的应用程序中实现撤消管理器。我没有创建自己的 UndoManager,而是使用 ManagedObjectContext 中的默认撤消管理器。因此,我没有手动注册任何操作,也没有开始或结束任何撤消组。撤消在大多数情况下工作正常,但在某些情况下它只是停止并且不撤消。
我记录了 groupingLevel 并注意到,对于任何操作,groupingLevel 都会从 0 递增到 1。对于任何其他操作,groupingLevel 仍保持为 1。
如果我调用撤消,级别会递减回 0 并保持在 0 以进行进一步的撤消。
然而,当我撤消某些条件时,groupingLevel 又回到 1,我无法再撤消!!!!!!!!!
当我调用 [[managementObjectContext undoManager] undo] 时,groupingLevel 如何增加?
Im trying to implement an undo manager in my app using Core Data. Instead of making my own UndoManager im using the default undo manager in my ManagedObjectContext. Because of that i am not registering any actions manually, neither am i beginning or ending any undo groups. Undo works fine for most conditions however at certain conditions it just halts and doesnt Undo.
I logged groupingLevel and noticed that on any action, the groupingLevel increments from 0 to 1. For any additional actions, the groupingLevel remains at 1.
If i call undo, the level decrements back to 0 and stays at 0 for further undos.
However, when I undo to certain conditions, the groupingLevel goes back to 1 and i cant undo anymore !!!!!!???
how is it possible for groupingLevel to increment when i call [[managedObjectContext undoManager] undo] ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没关系,事实证明我的条件迫使 undoManager 进入无限循环。
Nevermind, turns out my conditions were forcing the undoManager to go into an infinite loop.