我在我的项目中使用JTCalendar。如果某一天的活动可用,我必须在日期下面显示indicators (round dots)。API的响应给了我一个array of dictionaries。字典有一个键"service_date",值在字符串中,如"10/02/2017"。
如何使用haveTaskForDay方法检查服务日期?
发布于 2017-03-27 07:02:18
在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方法中,您将从上面的委托中获得date参数,然后可以检查date是否与字典中的日期相似:
- (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;
}注意:我没有运行这段代码。如果必要的话,你应该改正。
https://stackoverflow.com/questions/43039712
复制相似问题