Objective c NSFetchedResultsController和NSPredicate以及节名

Objective c NSFetchedResultsController和NSPredicate以及节名,objective-c,core-data,nspredicate,nsfetchedresultscontroller,Objective C,Core Data,Nspredicate,Nsfetchedresultscontroller,我有两个相互之间有多对多关系的实体的核心数据模型 例如 这有点不起作用,当我使用[sectionInfo name]时,我得到了{TedEx}作为节标题 另一个问题是,如果一个演讲者出现在会议的一个部分中,它不会出现在另一个部分中,即使该部分会议有演讲者对象 这可能是因为,我将sectionName作为一组组合会议获取。TedEx、SXSW作为一个单独的部分 有些人认为目标应该是挑出sectionNameKeypath,只获取一个会议,并列出每个会议中的所有发言者。也许我应该设置某种谓词 我现在

我有两个相互之间有多对多关系的实体的核心数据模型

例如

这有点不起作用,当我使用[sectionInfo name]时,我得到了{TedEx}作为节标题

另一个问题是,如果一个演讲者出现在会议的一个部分中,它不会出现在另一个部分中,即使该部分会议有演讲者对象

这可能是因为,我将sectionName作为一组组合会议获取。TedEx、SXSW作为一个单独的部分

有些人认为目标应该是挑出sectionNameKeypath,只获取一个会议,并列出每个会议中的所有发言者。也许我应该设置某种谓词


我现在有点为难,方法有问题吗?我读过关于谓词的书,但如果您的新数据是核心数据,则有点难以理解。

这与您的想法有点不同,我不确定是否有更好的方法使用FRC§ionNameKeyPath来完成它,就像您想做或不想做的那样,但也许这会起作用:

只需执行正常的NSFETCH请求即可获取扬声器,而无需获取扬声器 一个叫做会议的地方。你可以把它分类 会议名称、日期或你需要的任何东西。 然后将表视图的节数设置为[conferences count]。 对于每个部分中的行数,获取该部分的会议对象[conferences objectAtIndex:section],并返回该会议的发言人计数。 要填充单元格数据,只需通过调用:[[conferences objectAtIndex:indexPath.section]objectAtIndex:indexPath.row]获取Speaker对象;
感谢您的回答,尽管我是专门询问NSFetchedResultsController。。我希望任何更改都能在表中反映出来,因为在表中,我必须处理fetch请求中的所有内容。但我确实意识到在NSFetchResultsController中无法实现这一点
Conference <<---->> Speaker
NSFetchedResultsController *aFetchedResultsController = [[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"conferences.Name"  cacheName:@"fCache"] autorelease];