0

我正在尝试为提要阅读应用程序构建一个缓存系统。这个想法是每次成功拉取新提要时,删除Core Data中所有存储的实体,并存储提要的前20项(这用作离线缓存)。

我遇到的问题是,当执行拉动刷新时,我的托管对象上下文中可能有数百个项目。我想将这些项目保留在上下文中,同时从 Core Data 中删除任何存储的项目,然后存储从刷新调用返回的二十个项目。

对于它的价值,我正在使用Magical Record。我试过四处寻找这个解决方案,但要么我使用了错误的关键字,要么很难找到信息。

我不确定要准确显示什么代码,但这里是对提要调用的处理:

for (id dict in feedArray){
    WFeedItem *item = [WFeedItem feedItemWithAttributes:[dict dictionaryByReplacingNullsWithBlanks] inManagedObjectContext:[NSManagedObjectContext defaultContext]];
    [parsedArray addObject:item];
}

这从定义它的子类 HTTPClient 传回给调用它的视图控制器。请记住,这一切都很好,只需删除存储的项目,同时保留我在此会话期间收集的所有内容。

4

1 回答 1

0

只需使用不同的上下文来导入和存储新记录。您的原始对象上下文可以保持原样。

于 2013-05-30T16:44:48.220 回答