获取结果控制器 - 将对象分组为多个部分

时间:2012-11-15 06:53:11

标签: objective-c ios xcode cocoa-touch ios6

新核心数据的东西,陷入了一点棘手的局面。我有表格列表:

项目,价值

其中有一些数据:

email-home,abc @ xzz.com

电子邮件工作,xyz @ abc.com

phone-home,1234567890

电话工作,0987654321

address-home,伦敦

地址工作,爱丁堡

我正在尝试使用一个获取结果控制器(FRC),它将表格中的数据分组为以下部分:

第1节:

phone-home,1234567890

电话工作,0987654321

第2节:

email-home,abc @ xzz.com

电子邮件工作,xyz @ abc.com

第3节:

address-home,伦敦

地址工作,爱丁堡

任何人都可以帮助如何创建可以实现此目的的排序描述符。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以向实体添加“整数16”类型的另一个属性sectionnum

sectionnum, item, value
-----------------------
2, email-home, abc@xyz.com
2, email-work, xyz@abc.com
1, phone-home, 1234567890
1, phone-work, 0987654321
3, address-home, London
3, address-work, Edinburgh

然后在{first}排序描述符和section name键路径中使用sectionnum作为键:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"YourEntity"];
NSSortDescriptor *s1 = [NSSortDescriptor sortDescriptorWithKey:@"sectionnum" ascending:YES];
request.sortDescriptors = @[s1];

fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                     managedObjectContext:self.context
                       sectionNameKeyPath:@"sectionnum"
                                cacheName:nil];