我正在使用NSFetchedResultController。以下是我想要实现的方案。
我有一个表消息,其属性为 MessageDate (即NSDate)。我需要将消息按日期标签排序为今天,昨天,上周和更早。
我尝试使用NSSortDescriptor和selector方法,但Selector方法格式只返回NSComparisonResult对象。
答案 0 :(得分:0)
尝试在获取请求本身中添加排序描述符,而不是对结果进行排序。并使用此获取请求创建NSFetchedResultController实例。
例如,您可以使用此代码段。
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];