In my Core Data app I am using a FetchedResultsController. Usually to set titles for headers in a UITableView you would implement the following method like so:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
id <NSFetchedResultsSectionInfo> sectionInfo = [[<#Fetched results controller#> sections] objectAtIndex:section];
return [sectionInfo name];
}
where [sectionInfo name] returns a NSString.
my sectionKeyPath is based on an NSDate and this all works fine apart from the section headers it gives me are the raw date description strings (e.g. 12/12/2009 12:32:32 +0100) which look a bit of a mess in a header!
So I want to use a date formatter on this to make a nice header like "Apr 17 2010" but I can't do that with the [sectionInfo name] as this is NSString! Any Ideas?
Many Thanks
I found a solution:
Please look over this, if you know of a better way please say!
Otherwise if your stuck with a similar problem I hope this helps!
In iOS 4.0 and later, use the [NSDateFormatter localizedStringFromDate] class method and you won't have to worry about managing the NSDateFormatter instance. Otherwise this seems to be the only way to do it.
This is the Swift version of the answer: