I have a NSFetchedResultsController
which is fetching objects from a NSManagedObjectContext
. I\'m using the results to populate a UITableView.
I ended up adding a new property day
to my NSManagedObject
subclass to get a formatted date string.
@property (nonatomic, readonly) NSString * day;
@property (nonatomic, retain) NSDateFormatter * dateFormatter
Sythesize the dateFomatter. @synthesize dateFormatter;
I initialize the date formatter in awakeFromFetch and awakeFromInsert.
self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[self.dateFormatter setDateStyle:NSDateFormatterMediumStyle];
The accessor for day
.
- (NSString *)day {
NSDate *date = self.startDate;
return [self.dateFormatter stringFromDate:date];
}
I then set my section name keypath to look at day
; you shouldn't need to make any changes to your sort descriptors.
I haven't had a chance to dig into that area of the SDK yet (my work is with C#, so the iPhone stuff is in my hobby time), but from what I can tell you would want to use the other init, specifically initWithKey:ascending:selector: and for the selector you could pass a selector to your compare method that would only compare on the Year/Month/Day, ignoring time.
Here's the url for reference: iPhone Library Documentation
Hope this helps!