NSUndoManager 在某些情况下停止撤消

发布于 2024-09-17 05:24:25 字数 433 浏览 8 评论 0原文

我尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅此而已 2024-09-24 05:24:36

没关系,事实证明我的条件迫使 undoManager 进入无限循环。

Nevermind, turns out my conditions were forcing the undoManager to go into an infinite loop.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文