对核心数据进行排序获取结果

时间:2012-03-30 02:03:58

标签: iphone objective-c ios core-data

我的NSManagedObject有一个属性为NSDate,格式为:2012-03-27 14:43:22 +0000。我想按日期对结果进行排序,所以我这样做: NSSortDescriptor *sort= [[NSSortDescriptor alloc] initWithKey:@"createDate" ascending:NO selector:@selector(compare:)];

我使用sectionNameKeyPath分成几个部分: NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:appDelegate.managedObjectContext sectionNameKeyPath:@"createDate" cacheName:nil];

但是,我想按天计算,而不是按确切日期排序。目前,如果我有两个同一天但相隔几秒的createDates,它们将分为不同的部分。我想将同一天的所有对象排序到同一部分。我该怎么做?

2 个答案:

答案 0 :(得分:1)

只是一个粗略的想法。您可以使用字符串“2012-03-27”存储日期,我认为您可以按日期对它们进行排序。

答案 1 :(得分:0)

这是我前几天遇到的两篇讨论非标准版块的帖子。它会给你一些很酷的指示和想法:

Using custom sections with NSFetchedResultsController?
Group by weekdays with Core Data