Core data:如何在coredata中插入数据时避免重复



我使用核心数据,并有一个NSManagedObjectContext子类为我的模型。

On viewDidLoad:

  1. 我正在尝试从核心数据获取

  2. 同时启动一个网络调用,如果成功,将模型对象保存到核心数据中,并再次获取以更新UI。

我面临的问题是在每个viewDidLoad上,我一次又一次地添加数据,这意味着如果我从n/w调用中获得4个结果,如果我第二次加载视图,我将有2组相同的4个结果,等等。

我通过在保存网络获取的结果之前手动检查重复来避免这种情况。

我不认为这是一个干净的方法,我也想用NSFetchedResultsController UICollectionView,使获取更有效。

使用NSFetchedResultsController是否有助于避免这个问题?

也有人尝试过AFIncrementalStoreSSDataKit核心数据包装?有人建议哪个更好吗?

如果您可以使用它,RestKit将为您完成。但基本上是一样的。它提供了一些缓存选项来快速进行重复检查,但仍然需要在某个地方进行检查。

我不确定你认为FRC如何帮助重复检查。使用fetch请求来获取只包含适当标识属性的字典结果,而不是完整的FRC。

Core Data本身没有"副本"的概念。请参阅Apple文档"高效地实现查找或创建"章节获取建议。

相关内容

  • 没有找到相关文章

最新更新