0
我在過去和即將到來的過程中對我的表視圖進行分組有點困難。這將取決於我的核心數據模型中的日期字段。因此,所有日期>今天的項目都會即將推出,並且所有日期爲<的項目都將被視爲過去。任何洞察到這一點將不勝感激。顯示「過去」和「即將到來」的部分UITableView與FetchedResultsController
我在過去和即將到來的過程中對我的表視圖進行分組有點困難。這將取決於我的核心數據模型中的日期字段。因此,所有日期>今天的項目都會即將推出,並且所有日期爲<的項目都將被視爲過去。任何洞察到這一點將不勝感激。顯示「過去」和「即將到來」的部分UITableView與FetchedResultsController
您可以在實體類使用此功能:
-(NSString*)dateToStringForSectionTitels{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *formattedDateString;
[dateFormatter locale];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]];
NSDate *today = [cal dateFromComponents:components];
components = [cal components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:self.startDate];
NSDate *otherDate = [cal dateFromComponents:components];
if([today isEqualToDate:otherDate]) {
formattedDateString = @"Today";
}else{
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
formattedDateString = [dateFormatter stringFromDate:self.startDate];
}
NSTimeInterval distanceBetweenDates = [self.startDate timeIntervalSinceDate:[NSDate date]];
double secondsInAnMinute = 60;
NSInteger minutsBetweenDates = distanceBetweenDates/secondsInAnMinute;
if (minutsBetweenDates<30) {
formattedDateString = @"Starting Soon";
}else if(minutsBetweenDates<0){
formattedDateString = @"In the past";
}
return formattedDateString;
}
它將返回
然後。剛剛通過「dateToStringForSectionTitels」你獲取結果控制器。
祝你好運。
這工作,謝謝! –