iphone - 如何在核心数据中保存单个实体

标签 iphone ios ios4 core-data entity-relationship

我在核心数据中有 4 个实体。假设实体 A、B、C 和 D。这些是关系:

A <----->> B

B <<-----> C

B <<---->> D

问题是: 我的应用程序中有很多屏幕。现在,假设在第一个屏幕中,我对实体 A 进行了更改,目前我没有在托管对象上下文中调用保存(我只有一个托管对象上下文)。现在我对实体 B 进行了更改,现在我想将对实体 B 所做的更改保存到持久存储中,但不希望我对 A 所做的更改保存到现在。这是我的应用程序中的要求。所以我想稍后保存实体 A,或者可能根本不保存它。

简而言之,问题是,如何将实体单独保存到持久化存储中?我对此进行了很多思考,但无法找到一种方法来做到这一点。我尝试使用核心数据提供的 NSUndoManager,但它使事情变得非常复杂。

有什么想法吗?

最佳答案

让每个 viewContoller 使用它自己的一个单独的本地托管对象上下文。然后相应地设置属性 parentContext(NSManagedObjectContext 的属性)到主上下文(具有持久存储的上下文)或 viewController 层次结构中的另一个上下文。查看 WWDC2011 iOS5 Core Data 视频,其中讨论了父/子 managedObjectContexts。

虽然听起来很困惑,但您可能想要重新设计。

关于iphone - 如何在核心数据中保存单个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9701640/

相关文章:

objective-c - 遇到问题,资源已被修改?

iphone - 无法从 Web 服务器上的 MySQL 检索日期到 iPhone

ios - 核心数据 : sorting by date attribute in a to-many relationship

iphone - 如何访问 UIImagePickerController 上的相机闪光灯?

ios - 具有大量子层/动画的 AVVideoCompositionCoreAnimationTool 导出性能

php - iOS、PHP 和 mySQL。在 iPhone 上显示数据库中的数据

ios - 可重复使用的 MBProgressHUD

ios - 升级iOS应用程序

iphone - 从模态视图 Controller 更改选项卡栏应用程序的选定索引

iphone - 使用 iPhone SDK SSH 连接到 Mac 进行远程登录