情况:简而言之,我有一个足球赛程。我想使用一个自定义单元格,它只为时间表中的下一个比赛日期提供更多信息。
问题:如何仅找到日程表中下一个最接近的游戏(适用于 iOS)?
我看过 WWDC 2013 的“常见日期和时间问题的解决方案”视频,但这主要适用于 Mac。我在这里搜索了很多帖子,有些帖子很接近,但不是我需要从日程表中的日期列表中找到的仅下一个日期。从其他帖子中,我看到可以比较两个特定日期的位置,但这不是我想要做的。我想从日期列表中找到等于或在今天之后的下一个最接近的日期。
这就是我现在的位置。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//Populate the table from the plist
NSDictionary *season = _schedContentArray[indexPath.section];
NSArray *schedule = season[@"Schedule"];
NSDictionary *game = schedule[indexPath.row];
//find the closest game date after today's date ??
NSString *gameDateStr = game[@"GameDate"];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.calendar=calendar;
[dateFormatter setDateFormat:@"MM/dd/yy"];
NSDate *today = [NSDate date];
NSDate *gameDate = [dateFormatter dateFromString:gameDateStr];
//NSString *nextGame =
NSLog(@"game date is %@",gameDate);
NSLog 返回比赛日期(开放日期除外): 2013-11-11 16:10:05.979 Clemson Football[24060:70b] 比赛日期为 2013-08-31 04:00:00 +0000 2013-11- 11 16:10:05.982 Clemson Football[24060:70b] 比赛日期为 2013-09-07 04:00:00 +0000 2013-11-11 16:10:05.985 Clemson Football[24060:70b] 比赛日期为 (null ) 2013-11-11 16:10:05.987 克莱姆森足球[24060:70b] 比赛日期是 2013-09-19 04:00:00 +0000 2013-11-11 16:10:05.988 克莱姆森足球[24060:70b]比赛日期是 2013-09-28 04:00:00 +0000 2013-11-11 16:10:05.990 Clemson Football[24060:70b] 比赛日期是 2013-10-05 04:00:00 +0000 2013-11 -11 16:10:05.992 Clemson Football[24060:70b] 比赛日期是 2013-10-12 04:00:00 +0000 2013-11-11 16:10:05.993 Clemson Football[24060:70b] 比赛日期是 2013 -10-19 04:00:00 +0000 2013-11-11 16:10:05.995 Clemson Football[24060:70b] 比赛日期为 2013-10-26 04:00:00 +0000 2013-11-11 16:10:05.996 克莱姆森足球[24060:70b] 比赛日期是 2013-11-02 04:00:00 +0000 2013-11-11 16:10:05.998 克莱姆森足球[24060: 70b] 比赛日期是 2013-11-09 05:00:00 +0000 2013-11-11 16:10:06.000 Clemson Football[24060:70b] 比赛日期是 2013-11-14 05:00:00 +0000 2013 -11-11 16:10:06.001 克莱姆森足球[24060:70b] 比赛日期为 2013-11-23 05:00:00 +0000 2013-11-11 16:10:06.003 克莱姆森足球[24060:70b] 比赛日期是 2013-11-30 05:00:00 +0000 2013-11-11 16:10:06.005 克莱姆森足球[24060:70b] 比赛日期是 2013-12-07 05:00:00 +0000001 克莱姆森足球[24060:70b] 比赛日期是 2013-11-23 05:00:00 +0000 2013-11-11 16:10:06.003 克莱姆森足球[24060:70b] 比赛日期是 2013-11-30 05: 00:00 +0000 2013-11-11 16:10:06.005 克莱姆森足球[24060:70b] 比赛日期为 2013-12-07 05:00:00 +0000001 克莱姆森足球[24060:70b] 比赛日期是 2013-11-23 05:00:00 +0000 2013-11-11 16:10:06.003 克莱姆森足球[24060:70b] 比赛日期是 2013-11-30 05: 00:00 +0000 2013-11-11 16:10:06.005 克莱姆森足球[24060:70b] 比赛日期为 2013-12-07 05:00:00 +0000
提前感谢您提供的任何帮助。这看起来应该很简单,但相当令人沮丧。如果您需要更多信息,请告诉我。