Objective c 获取结果控制器-将对象分组到节中

Objective c 获取结果控制器-将对象分组到节中,objective-c,ios,xcode,cocoa-touch,ios6,Objective C,Ios,Xcode,Cocoa Touch,Ios6,新的核心数据的东西,陷入了一个有点棘手的情况。我有一个带列的表: 项目、价值 其中有一些数据: 发邮件回家,abc@xyz.com 电子邮件工作,xyz@abc.com 电话:1234567890 电话:0987654321 地址:伦敦之家 地址:爱丁堡 我正在尝试创建一个fetched results controller(FRC),它将表中的上述数据分组到以下部分: 第1节: 电话:1234567890 电话:0987654321 第2节: 发邮件回家,abc@xyz.com 电子邮件工作,

新的核心数据的东西,陷入了一个有点棘手的情况。我有一个带列的表:

项目、价值

其中有一些数据:

发邮件回家,abc@xyz.com

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

电话:1234567890

电话:0987654321

地址:伦敦之家

地址:爱丁堡

我正在尝试创建一个fetched results controller(FRC),它将表中的上述数据分组到以下部分:

第1节:

电话:1234567890

电话:0987654321

第2节:

发邮件回家,abc@xyz.com

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

第3节:

地址:伦敦之家

地址:爱丁堡

任何人都可以帮助创建排序描述符来实现这一点


提前感谢您的帮助。

您可以向实体添加另一个类型为“Integer 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
然后将
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];