Ios NSFetchedResultController操作名称-根据日期进行自定义排序
我正在使用NSFetchedResultController。下面是我想要实现的场景Ios NSFetchedResultController操作名称-根据日期进行自定义排序,ios,iphone,core-data,nssortdescriptor,nsfetchedresultscontroller,Ios,Iphone,Core Data,Nssortdescriptor,Nsfetchedresultscontroller,我正在使用NSFetchedResultController。下面是我想要实现的场景 我有一个带有属性MessageDate(即NSDate)的表Messages。我需要按日期标签对邮件进行排序,如今天、昨天、上周和更早 我尝试将NSSortDescriptor与选择器方法一起使用,但选择器方法格式仅返回NSComparisonResult对象 不要对结果进行排序,而是尝试在获取请求本身中添加排序描述符。并使用此获取请求创建NSFetchedResultController实例 例如,您可以使
- 我有一个带有属性MessageDate(即NSDate)的表Messages。我需要按日期标签对邮件进行排序,如今天、昨天、上周和更早
- 我尝试将NSSortDescriptor与选择器方法一起使用,但选择器方法格式仅返回NSComparisonResult对象
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"messageDate" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *myFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"message" cacheName:nil];
你有没有读过关于分区工作原理的书?您的实现中有单独的排序和节名称吗?显示代码。是的,我显示了。我需要对日期进行排序,并将其与当前日期进行比较。例如,如果消息日期是今天的日期,则应将其分组在一起。如果是昨天的,则应将其分组到昨天的组中,依此类推。您可能需要添加有关
sectionNameKeyPath:@“message”