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

时间:2011-10-03 20:51:47

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

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

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

我怀疑必须有一个更好的,更低的代码开销,(读取:更易于管理)的方式来做到这一点:

  • 我可以创建核心数据实体而不将它们保存到商店中,然后只保存用户选择的实体吗?
  • 还是有其他方法来构建这个,使用CoreData?

1 个答案:

答案 0 :(得分:1)

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