3

我在 CoreData 中有 2 个实体(与此相关)。让我们称它们为objectAand objectB。每个实体与另一个实体具有一对多关系。

我有一个视图,它使用NSFetchedResultsController来显示表中所有objectB对象(记录)的列表。这一切都有效。

现在,我想要做的是,给定任何一个 ,在第一部分中提供一个与特定关系相关objectA的表格,其余部分在第二部分中。从我的尝试来看,它似乎不够灵活,无法允许这样的事情。objectB objectAsectionNameKeyPathNSFetchedResultsController

我错过了什么,还是有其他方法可以做到这一点?

4

2 回答 2

0

不幸的是,这似乎NSFetchedResultsController不够灵活,所以我最终使用两个NSFetchedResultsControllers 来分别获取具有不同谓词的第一和第二部分。

于 2012-06-11T04:47:21.753 回答
0

我想建议另一种解决方案,

在您的实体(例如 sectionName 或类似)中创建一个属性,该属性将根据您的条件决定,例如。'一二'。

现在,当您创建 FRC 时,请根据“sectionName”(新条目)使用升序创建部分。

现在你有两个基于条件的部分。

我是这样弄的

在我的核心数据实体子类中创建了一个计算属性,

var groupSectionName:String?{
        return isPinned /**Or your condition*/ ? "One" : "Two"
    }

在创建 FRC 的同时,

let frc = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context,    sectionNameKeyPath: "groupSectionName",cacheName: nil)

现在,对于每个索引,FRC 都会调用计算属性。

于 2019-05-14T07:01:12.903 回答