我有两个实体Group和Contact。联系人可以属于许多组,并且组具有许多联系人。所以我创造了许多关系。像这样:
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”的组,其中没有任何联系人。所以Contact实体没有任何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的方式。
请帮忙。
任何回复都会受到赞赏,提前谢谢。
答案 0 :(得分:-2)
我认为UITableView不可能显示没有单元格的部分。如果你能接受这个事实,那么你的NSFetchResultController应该如下所示。
NSFetchRequest *fetchRequest = ....
NSEntityDescription *entity = .... @"Contact" ....
fetchRequest.entity = entity;
[NSFetchResultsController alloc] initWithFetchRequest:fetchRequest
...
sectionNameKeyPath:@"grp"
...