我正在使用NSFetchedResultController。以下是我要实现的方案。

  • 我有一个表消息,其属性为 MessageDate (即NSDate)。我需要按日期标签将消息排序为今天,昨天,最后一周和更早。
  • 我尝试将NSSortDescriptor与选择器方法结合使用,但Selector方法格式仅返回NSComparisonResult对象。
  • 最佳答案

    而不是对结果进行排序,请尝试在获取请求本身中添加排序描述符。并使用此提取请求创建您的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];
    

    关于ios - NSFetchedResultsController节名称-根据日期自定义排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24423145/

    10-09 08:06
    查看更多