我在我的项目中使用JTCalendar
。如果当天的活动可用,我将在日期下显示indicators (round dots)
。来自API的回复给了我array of dictionaries
。 Dictionary有一个键"service_date"
,其值为"10/02/2017"
。
如何使用方法haveTaskForDay
检查服务日期?
答案 0 :(得分:1)
在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;
}
注意:我没有运行此代码。如有必要,您应该进行更正。