nsundomanager

    2热度

    1回答

    我正在构建一个使用CoreData和NSUndoManager的基于OSX文档的应用程序。 我有一个全局的NSUndoManager处理撤消和重做,而不是使用每个NSManagedDocument内置的默认值。这意味着我手动注册了撤销和重做,而不是在托管对象上下文更改时依赖它们自动注册。 当我从NSManagedObjectContext中删除NSManagedObject时,我想要注册一个撤消操

    1热度

    1回答

    我有两个核心数据实体之间的一对多关系。 如下A - >> B A - >> B:删除拒绝(即拒绝A的缺失而它们是B的对象) 乙 - > A:抵消 在多个上下文中,一个上下文不知道其他更改,因此在保存父上下文时会出现验证错误,因为在一个上下文中,子项会插入到正在另一个上下文中删除的父项。 他们很少或没有提供有关如何处理验证错误的信息,大多数示例仅向用户显示错误并放弃更改。如果我需要撤消该特定父对象的

    1热度

    2回答

    我正在研究一个包含注释工具的项目,该注释工具允许用户使用手指手势或铅笔“绘制”文档。当然,我非常喜欢对绘制的路径实施撤消/重做。 我的绘图应用程序的实现是相对传统的。用户在屏幕上看到的是将缓存的位图图像(当前绘制的所有路径的快照)与当前路径(UIBezierPath)的“实时”渲染组合在一起。当touchesEnded被触发时,新的路径被添加到位图。 我已经能够用相对小的麻烦实现撤销。我创建了一个

    1热度

    1回答

    所以我在updateChangeCount:(NSDocumentChangeType)changeType上设置了一个断点来查看我的文档何时被标记为脏。 后,我保存文档时,它与NSChangeCleared正确清除,它被称为与NSChangeDone该递增改变计数,然后之后。 这里是调用堆栈跟踪: 0 SS 0x000000010000764a -[SSDocument upda

    1热度

    1回答

    我想用一个撤消管理器测试一些代码,但显然,撤消的时候在同一个运行循环中运行时分组。我试图关闭groupsByEvent,但它不能按预期工作。 - (NSString *)article { return _article == nil ? @"no article" : _article; } - (void)setarticle:(NSString *)article {

    1热度

    1回答

    使用Swift 3.02(Xcode 8.2)我指的是回答:https://stackoverflow.com/a/31450475/7448394中描述的撤销解决方案。 在下面的代码中,我使用此解决方案来测试图纸的撤销和重做。 当我按下randomDrawing按钮时,它会绘制一条从零到一个随机点的红线。 当我按下撤消按钮时,此行或最后一行消失。 但是当我按下重做按钮时,imageView没有任

    0热度

    1回答

    我正在使用CoreData在应用程序中实施撤销。我的应用程序还使用状态恢复。 从文档中我不清楚的是,如果NSUndoManager将在启动/状态恢复之间保留其撤消历史记录?如果不是主要问题,这只是我需要知道的,所以我可以相应地进行编码。

    1热度

    1回答

    我有一个文本框和一个核心数据支持的复选框。对复选框的更改应该保留在撤消/重做操作之外。 推荐方法(堆栈溢出时发现)是以下代码片段。 @IBAction func stateDidChange(sender: NSButton?) { //disable undo manager context.processPendingChanges() context.undo

    0热度

    1回答

    我正在创建一个iOS应用程序,用户可以在其中为图像添加效果。应用该效果后,我有一个done按钮,它可以保存当前效果并允许用户在已应用效果上添加下一个效果,因此用户可以对其他效果应用更多效果。如果用户不按Done按钮,然后他在效果之间切换,但用“完成”按钮,他可以对效果施加效果(希望你明白!)。现在我有两个额外的按钮名为Undo & Redo。当用户点击done按钮时,我将所有应用效果保存在arra

    3热度

    1回答

    在我们的应用中,我们使用下面的代码: let lInvocationTarget = lUndoManager.prepare(withInvocationTarget: self) let _ = (lInvocationTarget as! MyObjectType).myMethod(_: self.opacity, undoManager: lUndoManager) 这编译没有警告