Это должно помочь вам:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *rawDateStr = [[[self.fetchedResultsController sections] objectAtIndex:section] name];
// Convert rawDateStr string to NSDate...
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZ"];
NSDate *date = [formatter dateFromString:rawDateStr];
// Convert NSDate to format we want...
[formatter setDateFormat:@"d MMMM yyyy"];
NSString *formattedDateStr = [formatter stringFromDate:date];
return formattedDateStr;
}
[EDIT]
Jus видел ваш комментарий, и для того, что вы пытаетесь достичь, вы можете создать временный атрибут NSDate
(непостоянный), который отформатирован аналогично приведенному выше коду (т. Е. Без H: mm: ss ZZZZ) и используйте этот атрибут в качестве значения sectionNameKeyPath
.
Итак, в двух словах для объекта foo
, с атрибутами fooDate
и fooDateTransient
, вы бы:
Получите ваш foo.fooDate
атрибут
Преобразуйте его, используя код выше (или аналогичный), и присвойте результат NSDate
foo.fooDateTransient
Используйте fooDateTransient
в качестве sectionNameKeyPath
при создании объекта fetchedResultsController
.
PS: Я сам не проверял, но стоит попробовать!
Удачи,
Рог