相关疑难解决方法(0)

NSFetchedResultsController 返回重复项(相同的 objectID 和引用)

我在使用 NSFetchedResultsController 时遇到了奇怪的行为。它是 iOS 10 中的新功能。直截了当:fetchedObjects包含重复的对象。

在我自己的标准中,这绝不是“重复”。它们实际上具有相同的 objectID 和相同的引用。

它是如何在我的应用程序中发生的:

  1. FRC 已设置并执行提取

  2. 获取 2 个对象(在本例中)

  3. 我的同步层发生了一些事情,更新了另一个对象(获取项目与之相关)

  4. FRC 调用delegate 表示内容确实发生了变化。fetchedObjects包含 4 个对象(2 个重复)

这是我在controllerDidChangeContent方法中调试的控制台输出。

po frc.fetchedObjects

    - 0 : <ListItem: 0x1700dc3f0> (entity: ListItem; id: 0x1706294a0 <x-coredata://12D0CB00-7BF4-402A-8371-19DD1CFB1537/ListItem/t3384FC2D-3399-41FE-B7DD-C277922F495445> ; data: { ... }

    - 1 : <ListItem: 0x1700dc3f0> (entity: ListItem; id: 0x1706294a0 <x-coredata://12D0CB00-7BF4-402A-8371-19DD1CFB1537/ListItem/t3384FC2D-3399-41FE-B7DD-C277922F495445> ; data: { ... }

    - 2 : <ListItem: 0x1704c49f0> (entity: ListItem; id: 0x170631680 <x-coredata://12D0CB00-7BF4-402A-8371-19DD1CFB1537/ListItem/t3384FC2D-3399-41FE-B7DD-C277922F495446> ; data: { ... }

    - 3 : <ListItem: …
Run Code Online (Sandbox Code Playgroud)

core-data nsfetchedresultscontroller ios ios10

8
推荐指数
1
解决办法
716
查看次数