macos - 导入数据的核心数据最佳实践

标签 macos cocoa ipad core-data cocoa-design-patterns

我有一个应用程序(iPad 和 Mac Lion),它使用 CoreData 进行存储。该应用程序从多个硬件设备导入数据,将数据解码为多个离散事件,并向用户呈现事件列表,然后用户可以选择保存哪些事件。

目前,我为每个事件创建一个非 CoreData 对象,然后将用户选择的事件转换为 CoreData 实体以保存在商店中。这意味着我基本上为每个对象都有两个类;一个托管 CoreData 对象,以及另一个表示用户选择事件之前的事件的非托管对象。

我怀疑必须有一种更好、代码开销更低(阅读:更易于管理)的方法来做到这一点:

  • 我可以创建核心数据实体而不将其保存到存储中,然后仅保存用户选择的实体吗?
  • 或者是否有其他方法可以使用 CoreData 来构建它?

最佳答案

这就是 Managed Object Contexts是给。 :-) 创建一个与显示用户“数据库”中实际数据的普通数据上下文分开的“导入上下文”。在该上下文中创建所有对象(并且不保存),让用户删除他/她不想要的对象,然后在完成导入和保存后合并上下文。

关于macos - 导入数据的核心数据最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640488/

相关文章:

ruby-on-rails - 在 OSX 10.9 Mavericks 错误崩溃报告上运行 Rails 的应用程序时出错

node.js - 无法让 Yeoman 正常工作

objective-c - NSImageView + 背景色

iphone - ios 有计时器吗

ios - 在 App Store 上更新 Only iPad 应用程序

ios - 从核心数据中获取不同值的列表

swift - 为什么使用 URL 的 FileManager.default.enumerator 比 Swift 中的 String 快 3 倍?

java - MAC OS - 设置 JAR 程序在启动时运行的终端命令?

ios - 用于 iOS 应用程序的最佳数据库

c++ - Xcode 6 : Create pure C++ OpenGL application bundle (. 应用程序)不使用 "Cocoa Application"模板