我正在尝试为提要阅读应用程序构建一个缓存系统。这个想法是每次成功拉取新提要时,删除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 传回给调用它的视图控制器。请记住,这一切都很好,只需删除存储的项目,同时保留我在此会话期间收集的所有内容。