我在项目中使用JTCalendar
。如果当天有活动可用,我必须在日期下显示indicators (round dots)
。来自 API 的响应给了我一个array of dictionaries
.字典在字符串中有一个键"service_date"
和值,如 "10/02/2017"
.
如何使用haveTaskForDay
方法检查服务日期?
在 JTCalendar 的委托中:
- (void)calendar:(JTCalendarManager *)calendar prepareDayView:(JTCalendarDayView *)dayView
{
if([self haveTaskForDay:dayView.date])
{
dayView.dotView.hidden = NO;
dayView.dotView.backgroundColor = [UIColor blackColor];
}
else
{
dayView.dotView.hidden = YES;
}
}
在您的haveTaskForDay
方法中,您将从上面的委托中获取日期参数,然后您可以检查日期是否与字典中的日期相似:
- (BOOL) haveTaskForDay :(NSDate *)date
{
for (NSDictionary * eventDictionary in yourArray)
{
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
NSString * calendarDate = [formatter stringFromDate:date];
NSString * dateString = [eventDictionary objectForKey : @"service_date"];
if([dateString isEqualToString:calendarDate])
return 1;
}
}
return 0;
}
注意:我没有运行此代码。如有必要,您应该进行更正。