一对多关系的 NSFetchedResultsController fetchRequest

NSFetchedResultsController fetchRequest for one-many relationship

我非常感谢在使用 NSFetchResultsController 方面的帮助。 我想我需要做的对某些人来说应该很简单,但我有点卡住了!

我将尝试解释我在做什么,或者它的简化版本。 我有 2 个 viewController,每个都显示一个 NSTableView。我正在使用核心数据和一个实体俱乐部。 viewController 之一显示俱乐部列表。所以对于这个,我创建了一个 NSFetchResultsController,传递给它一个 fetchRequest,它基本上是 NSFetchRequest<Clubs>(entityName: “Clubs”).

每个俱乐部都有一个成员列表,具有一对多关系)。我想使用第二个 viewController 显示成员。因此,当我在第一个 table 中点击一个俱乐部时,我希望第二个 table 显示其成员。

我有一个 NSFetchResultsController 连接到第二个 table。我被困在要发送给它的 fetchRequest 上。如果我使用与第一个类似的,即 NSFetchRequest<Members>(entityName: “Members”),正如预期的那样,我最终会得到一个 table 显示所有存储的俱乐部,第二个 table 显示所有存储的成员,而我只想在第一个 table 中选择俱乐部中的成员。我希望这是有道理的。所以我的问题是,我应该向第二个 table 发送什么 fetchRequest NSFetchResultsController?

您应该将以下谓词添加到 FRC 底层的提取请求中:

fetchRequest.predicate = NSPredicate(format:"club == %@", theClubSelectedInTheFirstViewController)