首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUndoManager和runModalForWindow:

NSUndoManager和runModalForWindow:
EN

Stack Overflow用户
提问于 2009-11-13 11:55:49
回答 1查看 424关注 0票数 2

我有一个简单的核心数据应用程序,显示在主窗口中的实体列表。为了创建或添加新实体,我使用第二个模式窗口和一个单独的托管对象上下文,以便可以在不干扰主托管对象上下文的情况下撤消/重做更改。

使用runModalForWindow:启动编辑窗口。如果我在此模式窗口中进行了一系列离散的更改,执行一次撤消操作将导致撤消所有更改。我尝试将NSUndoManager (从第二个托管对象上下文获得)的运行循环模式设置为包含NSModalPanelRunLoopMode,但似乎没有任何区别。

如果我不使用runModalForWindow:启动窗口,而只是使用makeKeyAndOrderFront:,一切都会正常工作。

以前有没有人遇到过这种情况?

凯文

EN

回答 1

Stack Overflow用户

发布于 2009-11-13 21:47:01

您是否偶然将Cocoa应用程序工具包用于您的应用程序?不知道为什么它不能在你的主窗口上这样做,而只在覆盖上..但这可能是正确的方向..

以下引文摘自Mac Dev Center, NSUndoManager Class Reference

执行撤消时,NSUndoManager会保存恢复的操作,以便您可以重做撤消操作。如果在基于Cocoa application Kit的应用程序中使用,NSUndoManager会在运行循环的单个循环中对所有操作进行分组,以便执行撤消操作会还原循环期间发生的所有更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1727045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档