Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何仅从核心数据中删除保存到存储的实体?_Iphone_Ios_Core Data_Magicalrecord - Fatal编程技术网

Iphone 如何仅从核心数据中删除保存到存储的实体?

Iphone 如何仅从核心数据中删除保存到存储的实体?,iphone,ios,core-data,magicalrecord,Iphone,Ios,Core Data,Magicalrecord,我正在尝试为提要读取应用程序构建一个缓存系统。其思想是,每次成功提取新提要时,删除核心数据中存储的所有实体,并存储提要的前二十项(这用作脱机缓存) 我遇到的问题是,在执行拉刷新时,托管对象上下文中可能包含数百项。我希望在从核心数据中删除任何已存储项的同时将这些项保留在上下文中,然后存储从刷新调用返回的20项 无论如何,我用的是魔法唱片。我试着四处寻找这个解决方案,但要么我使用了错误的关键字,要么信息很难找到 我不确定到底要显示什么代码,但下面是对提要调用的处理: for (id dict in

我正在尝试为提要读取应用程序构建一个缓存系统。其思想是,每次成功提取新提要时,删除核心数据中存储的所有实体,并存储提要的前二十项(这用作脱机缓存)

我遇到的问题是,在执行拉刷新时,托管对象上下文中可能包含数百项。我希望在从核心数据中删除任何已存储项的同时将这些项保留在上下文中,然后存储从刷新调用返回的20项

无论如何,我用的是魔法唱片。我试着四处寻找这个解决方案,但要么我使用了错误的关键字,要么信息很难找到

我不确定到底要显示什么代码,但下面是对提要调用的处理:

for (id dict in feedArray){
    WFeedItem *item = [WFeedItem feedItemWithAttributes:[dict dictionaryByReplacingNullsWithBlanks] inManagedObjectContext:[NSManagedObjectContext defaultContext]];
    [parsedArray addObject:item];
}
这会从定义它的子类HTTPClient传递回调用它的视图控制器。请记住,这一切都很好,只需删除存储项,同时在上下文中保留我在本次会话中收集的所有内容

谢谢


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

我可以使用其他上下文仅检索存储中已保存的项目吗?保存时遇到的问题是,我需要删除已经存在的内容,而不会影响会话中的NSManagedObjects。很可能一些来自feed调用的新项目已经存在于商店中,但我需要确保商店中始终有20个最新的项目…不确定我是否解释得足够好。这就是我最后要做的。基本上,我不想让一个上下文看到存储的内容,但由于这不可能发生,我只将前20个项目保存到默认moc并保存它,然后将其余的对象放在nil moc中。