Я использую NSFetchedResultsController для моего UITableView, который отображает кучу событий, сохраняемых в основных данных.
То, что я пытаюсь сделать, - это сгруппировать таблицу по относительной дате (т.е. сегодня, завтра, на этой неделе и т. Д.). У каждого события есть дата начала, и я попытался создать временное свойство в объекте события под названием sectionIdentifier, который преобразует дату в относительную дату, как указано выше, например:
- (NSString*)sectionIdentifier
{
[self willAccessValueForKey:@"sectionIdentifier"];
NSString *tmp = [self primitiveSectionIdentifier];
[self didAccessValueForKey:@"sectionIdentifier"];
if (!tmp)
{
tmp = [Utility formattedDateRelativeToNow:self.startTime];
[self setPrimitiveSectionIdentifier:tmp];
}
return tmp;
}
Проблема в том, что он, очевидно, делает это только один раз и не обновляет себя, пока не будет изменена дата, которую я не ожидаю. Я думал о переопределении метода доступа getStartDate для обновления sectionIdentifier, хотя это кажется немного сложным и неэффективным, поскольку он будет выполнять это обновление каждый раз, когда я получаю доступ к этому свойству
Есть идеи?