gpt4 book ai didi

iphone - 从 NSFetchedResultsController 设置 UITableView header

转载 作者:行者123 更新时间:2023-12-03 16:07:27 24 4
gpt4 key购买 nike

我有一个NSFetchedResultsController,它从NSManagedObjectContext获取对象。我正在使用结果来填充 UITableView。

我正在使用这两个排序描述符进行过滤。

NSSortDescriptor *lastOpened = 
[[NSSortDescriptor alloc] initWithKey:@"lastOpened" ascending:NO];

NSSortDescriptor *titleDescriptor =
[[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];

当我创建 NSFetchedResultsController 时,我通过 sectionNameKeyPath:@"lastOpened" 对各个部分进行排序。

现在,我的部分显示标准格式,例如2009-07-02 20:51:27 -0400,并且由于不能同时打开两个部分,因此它们都是唯一的。我需要它们涵盖日期/时间范围,例如一整天,并且采用人类可读的形式。比如7 月 2 日星期四

谢谢!

<小时/>

编辑:

这一切都在 UITableViewController 内。这是更多代码。

- (NSString *)tableView:(UITableView *)tableView  titleForHeaderInSection:(NSInteger)section {
// Display the dates as section headings.
return [[[fetchedResultsController sections] objectAtIndex:section] name];
}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
return [sectionInfo numberOfObjects];
}

最佳答案

我最终向我的 NSManagedObject 子类添加了一个新属性 day 以获取格式化的日期字符串。

@property (nonatomic, readonly) NSString * day;
@property (nonatomic, retain) NSDateFormatter * dateFormatter

合成日期格式。 @synthesize dateFormatter;

我在 awakeFromFetch 和 awakeFromInsert 中初始化日期格式化程序。

self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[self.dateFormatter setDateStyle:NSDateFormatterMediumStyle];

day 的访问器。

- (NSString *)day {
NSDate *date = self.startDate;
return [self.dateFormatter stringFromDate:date];
}

然后,我将部分名称键路径设置为查看day;您不需要对排序描述符进行任何更改。

关于iphone - 从 NSFetchedResultsController 设置 UITableView header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1077419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com