Ios 核心数据:在coredata中插入数据时如何避免重复

Ios 核心数据:在coredata中插入数据时如何避免重复,ios,core-data,nsfetchedresultscontroller,afincrementalstore,Ios,Core Data,Nsfetchedresultscontroller,Afincrementalstore,我正在使用核心数据,并且为我的模型提供了一个NSManagedObjectContext子类 在viewDidLoad上: 我正在尝试从核心数据中提取 还启动一个网络调用,成功后会将模型对象保存到核心数据,并再次获取以更新UI 我面临的问题是在每个viewdiload上,我一次又一次地添加数据,这意味着如果我有4个来自n/w调用的结果,那么如果我第二次加载视图,我将有2组相同的4个结果,依此类推 在保存网络获取的结果之前,我通过手动检查重复来避免这种情况 我不认为这是一种干净的方法,而且我想为U

我正在使用核心数据,并且为我的模型提供了一个
NSManagedObjectContext
子类

viewDidLoad
上:

  • 我正在尝试从核心数据中提取

  • 还启动一个网络调用,成功后会将模型对象保存到核心数据,并再次获取以更新UI

  • 我面临的问题是在每个
    viewdiload
    上,我一次又一次地添加数据,这意味着如果我有4个来自n/w调用的结果,那么如果我第二次加载视图,我将有2组相同的4个结果,依此类推

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

    我不认为这是一种干净的方法,而且我想为
    UICollectionView
    使用
    nsfetchedresultscoontroller

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

    还有人尝试过核心数据的AFIncrementalStoreSSDataKit包装器吗?有没有关于哪一个更好的建议?

    如果你能使用它,它会帮你的。但它基本上做同样的事情。它提供了一些缓存选项,可以快速进行复制检查,但在某些地方仍然需要进行检查

    我不知道你认为财务报告委员会如何能帮助进行重复检查。使用fetch请求获取仅包含适当标识属性的字典结果,但可能不包含完整的FRC


    核心数据本身没有“重复”的概念。有关建议,请参阅苹果文档“高效实施查找或创建”一节。

    那么,您的意思是这些重复避免仅通过核心数据包装器提供,而不是直接在核心数据中提供。此外,我还介绍了SSDataKit和AFIncrementalStore的两个选项,您知道哪一个是最好的吗。