我有两个实体的核心数据模型,它们彼此之间存在多对多关系。
例如,
Conference <<---->> Speaker
一个会议可以有多个演讲者,一个演讲者可以参加多个会议。
我试图使用 NSFetchedResultsController fetchRequest 的主要实体是Speaker。
虽然它确实列出了所有发言者,但我试图将该部分作为“会议”名称并列出该部分中的所有发言者。我想要它,以便作为演讲者的名字“约翰”出现在两个部分中。这意味着他是两次会议的发言人。
这是我正在使用的 sectionNameKeyPath: @"conferences.Name"
NSFetchedResultsController *aFetchedResultsController = [[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"conferences.Name" cacheName:@"fCache"] autorelease];
它有点不起作用,{TedEx}
当我使用[sectionInfo name]
.
另一个问题是,如果我一个发言者出现在一个部分(会议)中,它将不会出现在另一部分中(即使该部分(会议)具有该发言者对象)。
这可能是因为,我将 sectionName 作为一组组合会议。TedEx, SXSW
作为一个单独的部分。
一些目标应该是如何挑选出 sectionNameKeypath 以仅获取一个会议并列出每个会议中的所有发言人。也许我应该设置某种谓词?
我在这里有点束缚,这种方法有问题吗?我读过关于谓词的文章,但如果你是核心数据的新手,它有点难以理解。