我正在使用NSFetchedResultsController,我想基于我的实体中的日期字段在我的表中创建两个部分。我不想根据各个日期进行分段,但我希望有一个部分,其中该日期字段为零,而一个部分的日期字段不为零。
有没有办法使用sectionNameKeyPath
来实现这一目标?如果没有,我应该如何基于零和非零值来划分我的获取结果表?
答案 0 :(得分:1)
我认为以下应该工作:
date
字段作为第一个排序描述符。sectionIdentifier
并将其用作sectionNameKeyPath
。为仅返回“0”或“1”的瞬态属性定义getter函数。在最简单的情况下(没有缓存),它看起来像这样:
- (NSString *)sectionIdentifier
{
if (self.date == nil)
return @"0";
else
return @"1";
}
实施自定义titleForHeaderInSection
:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
if ([[sectionInfo name] isEqualToString:@"0"])
return @"Date is nil";
else
return @"Date is not nil";
}