0

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

viewDidLoad

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

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

我面临的问题是,viewDidLoad我一次又一次地添加了数据,这意味着如果我有来自 n/w 调用的 4 个结果,如果我第二次加载视图,我将有 2 组相同的 4 个结果,所以上。

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

我不认为这是一种干净的方法,我也想使用NSFetchedResultsControllerforUICollectionView来提高获取效率。

无论如何都会使用NSFetchedResultsController帮助来避免问题吗?

还有人尝试过AFIncrementalStoreSSDDataKit包装器来获取核心数据吗?有什么建议会更好吗?

4

1 回答 1

0

如果您可以使用它,RestKit将为您完成。但它基本上做同样的事情。它提供了一些缓存选项来快速进行重复检查,但仍然必须在某处进行检查。

我不确定您认为 FRC 如何帮助进行重复检查。使用获取请求来获取仅包含适当标识属性的字典结果,但不包含完整的 FRC。

Core Data 本身没有“重复”的概念。请参阅此处的 Apple 文档部分“高效实施查找或创建”以获取建议。

于 2013-06-11T19:14:08.633 回答