【问题标题】:How to use many to many relationship in NSFetchedResultsController?如何在 NSFetchedResultsController 中使用多对多关系?
【发布时间】:2011-03-30 13:47:54
【问题描述】:

我有两个实体组和联系人。一个联系人可以属于多个群组,一个群组有多个联系人。所以我创建了多对多的关系。像这样:

Group           Contact
attribute       attribute
  gname           name
  gid             gender
relationship    relationship
  cnt<<--------->>grp

我想在 UITableView 中显示所有联系人,其中有很多部分,每个部分有很多行。像这样:

GroupA
  Contact1
  Contact2
  Contact3
GroupB
  Contact1
  Contact3
GroupC
  Contact2
  Contact3

我的问题是如何创建 NSFetchedResultsController 来实现这一点?我可以使用属性将 UITableView 划分为多个部分。我曾尝试使用简单对多的关系来划分它,但失败了,至于多对多,我...

如果我有一个名为“GroupD”的组,该组没有联系人属于。所以联系人实体没有任何grp属性包含“GroupD”的行,那么我只有三个部分。我希望我的 UITableView 是这样的:

GroupA
  Contact1
  Contact2
  Contact3
GroupB
  Contact1
  Contact3
GroupC
  Contact2
  Contact3
GroupD

但我确实得到了:

GroupA
  Contact1
  Contact2
  Contact3
GroupB
  Contact1
  Contact3
GroupC
  Contact2
  Contact3

我认为最大的问题是我创建 NSFetchedResultsController 的方式。

请帮忙。

任何回复将不胜感激,在此先感谢。

【问题讨论】:

    标签: iphone xcode core-data nsfetchedresultscontroller


    【解决方案1】:

    我认为 UITableView 不可能显示没有单元格的部分。如果你能接受这个事实,那么你的 NSFetchResultController 应该如下所示。

    NSFetchRequest *fetchRequest = ....
    NSEntityDescription *entity = .... @"Contact" ....
    fetchRequest.entity = entity;
    
    [NSFetchResultsController alloc] initWithFetchRequest:fetchRequest
                                       ...
                                       sectionNameKeyPath:@"grp"
                                       ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多