核心数据:NSFetchedResultsController与对象处于关系

时间:2016-04-04 13:47:38

标签: swift core-data relationship nsfetchedresultscontroller

我有两个实体CIDMPostCIDMUser。 CIDMPost与名为one-to-many的CIDMUser有invitees关系。 现在我有一个CIDMPost的实例,让我说postObject,我可以通过写postObject.invitees来轻松获取被邀请者,这将返回NSSet

现在我的要求是我希望NSFetchedResultsController的被邀请者(postObject.invitees)在UITableView中显示样式Group。还需要满足以下要求。

  1. 由invitationStatus(CIDMUser的属性)
  2. 分组
  3. 来自invitationStatus ASC的订单
  4.   

    声明:

    我尝试了很少的东西来满足我的要求,但遇到了崩溃,原因是Invalid to many relationship。为了解这次崩溃的解决方案,我发布了{39} a question'一小时前。但在与Daij-Djan进行了几次交谈之后,我才知道我所尝试的整个过程都是错误的。

1 个答案:

答案 0 :(得分:2)

只需获取已获取的结果控制器中的用户,并通过带谓词的邀请将排序描述符应用于所需的过滤器。创建提取的结果控制器时,请使用状态字段作为sectionNameKeyPath参数。

NSPredicate(format: "%@ in invitations", post)

其中post是您要向其显示被邀请者的帖子对象,invitations是与邀请用户的帖子相反的反对关系。

(请注意,我假设用户可以被邀请到多个帖子,这似乎是合乎逻辑的。在您的问题陈述中,您提到了一对多的关系,在我看来应该是很多 - to-many)。