NSFetchResultController:使用提取的实体及其相关实体填充TableView

问题描述:

我有2个实体。一个描述了TableView的部分(一个月它的名字等)。这个实体与另一个应该描述TableView行的实体的一对多关系有关。NSFetchResultController:使用提取的实体及其相关实体填充TableView

我有点困惑如何通过NSFetchedResultController获取这些实体。就目前而言,我只能在当时取得一个关系。那么我应该选择哪一个来正确填表?

如果您使用的是NSFetchedResultsController,您可以在表格视图中获取要显示的对象。

要获取部分,请使用NSFetchedResultsControllersectionNameKeyPath属性指示如何从其中一个获取的对象中找到部分名称。这个关键路径是您可以通过valueForKeyPath:传递给其中一个获取对象的部分,以获取部分名称。在你的情况下,它需要遍历一个关系到月份实体(或者它真正的名称)。例如,如果关系被称为month,并且Month实体具有name属性,则在创建抓取结果控制器时,您会传递类似@"month.name"的参数作为sectionNameKeyPath参数。

+0

不知道我是否得到它。我的实体是一个Month实体和一个Entry实体。 Month实体涉及Entry实体,它应该填充TableView的行。月份实体应填写节标题。 我应该改变我的对象模型还是可以像我打算做的那样工作......? – arnoapp 2013-03-22 18:38:23

+0

您的Entry实体是否与月份有关系?如果不是,那真的,真的应该。如果它**与**具有关系,则使用该关系名称作为关键路径的一部分。 – 2013-03-22 18:41:48

+0

它有一个背部关系。所以我应该从字面上取得入境实体?但是,我不确定如何将实体分成几个部分。好的,我可以用sectionNamekEyPath来做吗? – arnoapp 2013-03-22 18:46:15

您也可以使用卓越的Sensible TableView框架自动获取Core Data对象并将它们显示在表格视图中。该框架还将检测实体是否有任何关系,并将自动管理它们之间的详细视图控制器。