我知道如何核心数据对象由一个NSDate的排序的tableview,但默认情况下,似乎为每个对象的新节。 我想通过一个媒体格式的日期与NSDateFormatter对它们进行排序。 我会怎么做呢?
举例来说,如果我有在同一天创造了3个对象,我想他们是在该部分的标题是那一天,没有所需的时间相同的部分。
每个对象都有一个NSDate属性。 谢谢你的帮助。
这是我的代码有fetchedResultsController与rgeorge的建议。 我缺少的是在这里吗?
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
NSLog(@"get old fetched controller");
return fetchedResultsController;
}
else{
NSLog(@"get new fetched controller");
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"InTextEntity" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
NSSortDescriptor *dateDescriptor = [[NSSortDescriptor alloc] initWithKey:@"dateModified" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:dateDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"mediumFormattedDate" cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
NSError *error = nil;
if (![fetchedResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
return fetchedResultsController;
}