不保存所有Core Data对象

时间:2010-06-18 08:52:30

标签: iphone objective-c core-data

我正在开发一个iPhone应用程序,它从互联网上下载数据并根据该数据创建对象。可以在设备上创建相同类型的对象。 Web中的对象不应保存在Core Data数据库中,但应在设备上创建对象。

当我保存时,我使用此标准电话:

     NSError *error;
 if (![context save:&error])
  NSLog(@"Error %@", [error localizedDescription]);

有谁知道怎么做?

2 个答案:

答案 0 :(得分:2)

我将创建一个内存中的持久存储,并将“瞬态”Web下载的实例分配给该存储。您要保存的实例应分配给磁盘持久性存储。

答案 1 :(得分:1)

我将在前言中说我没有长时间使用核心数据,所以带着一点点盐...

...您是否需要同时使用多个网络路线?如果它一次只是一个,可以将其作为“上次下载的路由”保存在核心数据中。下载新的时,加载“上次下载”的对象并用新路径覆盖它的数据。那样你只保留最新的那个。

如果你没有保存任何网络路由,我甚至不会将它们包含在你的核心数据环境中。只需下载它们并直接在应用程序中处理数据 - 我可能会对您的应用程序如何在这里工作感到困惑,但如果您不想在商店中保存Web路由,为什么要将它们添加到上下文中?

我能想到的另一件事就是要么有单独的上下文 - 否则,你必须在保存后返回并删除网页下载的对象,这将是一团糟。

如果您提供有关数据模型以及如何使用数据的更多细节,我可以提供更具体的建议。