我爲我的UITableView使用NSFetchedResultsController,它顯示一堆事件,即時存儲在覈心數據中。使用Core Data實體更新表節標題的有效方法?
我想要做的是按相對日期(即今天,明天,本週等)對錶格進行分組。每個事件都有一個開始日期和我試圖創建名爲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,儘管這看起來有點笨重和低效,因爲每次訪問該屬性時都會執行此更新。
任何想法?
很不錯,指針的thx – James