我有一个应用程序(iPad和Mac Lion),它使用CoreData进行存储。该应用程序从许多硬件设备导入数据,将数据解码为多个离散事件,并向用户显示事件列表,然后用户可以选择保存哪些事件。
目前,我为每个事件创建一个非CoreData对象,然后将用户选择的对象转换为CoreData实体以保存在商店中。这意味着我基本上为每个对象提供了两个类;一个托管的CoreData对象,以及另一个在用户选择之前表示该事件的非托管对象。
我怀疑必须有一个更好的,更低的代码开销,(读取:更易于管理)的方式来做到这一点:
答案 0 :(得分:1)
这是Managed Object Contexts的用途。 :-)创建一个与正常数据上下文分开的“导入上下文”,显示用户在“数据库”中的实际数据。在该上下文中创建所有对象(并且不保存),让用户删除他/她不想要的对象,然后在完成导入和保存时合并上下文。