是否可以撤消在视图控制器中所做的所有更改而不影响在其父视图控制器中所做的更改?顺便说一句。它们具有相同的managedObjectContext。 PS。我有两个实体A和B.A与B具有多对多关系。视图控制器VCA用于在A中执行一些更改。视图控制器VCB用于在B中执行一些更改。VCA是VCB的父视图控制器。撤销在视图控制器中所做的所有更改
回答
无需创建新的上下文。当你离开子视图控制器,你有两种
[managedObjectContext save:&error];
或
[managedObjectContext rollback];
选项在后一种情况下,所有新的实体实例,数据修改等,都将被丢弃。
回滚将撤消上下文中的所有更改。当父母和孩子在相同的上下文中查看控制器时,它无法辨认。 –
否。自上次保存**以来,它会回滚所有更改**。您只需在启动子视图控制器之前进行保存。 – Mundi
但是当我回到父视图控制器时,保存的更改无法逆转。 –
您应该为子视图控制器创建新的NSManagedObjectContext,并将其撤销。 NSManagedObjectContext非常轻巧,并且不需要花费太多。
是的,这是一个解决方案,但是我必须将管理对象从一个对象复制到创建的对象。 –
不复制,但传递它的objectId。我认为你没有其他解决方案。 –
我会稍后再试。 –
- 1. 将控制器中所做的更改更新到视图
- 2. 在控制器/视图中执行撤销和重做
- 3. 更改根视图控制器和关闭所有视图控制器
- 4. 如何撤销对自我追踪实体所做的所有更改?
- 5. 关闭或销毁所有视图控制器,操作表等?
- 6. Git - 撤消所有更改更改
- 7. JavaFX的显示视图中所做的与控制器
- 8. 我希望能够撤消在JTextArea中所做的更改
- 9. 如何在所有视图控制器中显示可定制的视图?
- 10. AdMob在我所有的视图控制器中?
- 11. 向iOS中的所有视图控制器显示图像
- 12. CKEDITOR:撤消所有DOM更改
- 13. 如何使用Api在页面视图控制器中的所有视图控制器中下载图片?
- 14. 在WPF中撤销/重做?
- 15. 在所有视图控制器中创建警报功能 - swift
- 16. 视图浮动高于所有视图控制器
- 17. 一个根视图控制器,管理所有其他视图?
- 18. 在所有控制器
- 19. 如何显示视图中的所有控制器和映射
- 20. 需要解除导航控制器中的所有视图
- 21. 所有视图控制器中的变量
- 22. 从一个视图控制器更改项目中所有视图的背景颜色?
- 23. 如何在iPhone中更改方向时更改视图控制器的视图?
- 24. 如何在iOS中的当前视图控制器之前查找所有视图控制器?
- 25. 使用JavaScript立即撤销对HTML输出(ASP.Net)所做的更改立即撤消
- 26. 从标签栏控制器中完全删除所有视图控制器
- 27. 从所呈现的视图控制器访问呈现视图控制器?
- 28. 保存工作表的副本并撤销对原始的所有更改
- 29. 撤消对实体行所做的更改
- 30. 撤消对SQL Server数据库调整所做的更改
你能澄清你在谈论什么样的改变吗?你在改变哪些数据,它们生活在哪里? – strings42