0

JTCalendar在我的项目中使用。indicators (round dots)如果那天有活动可用,我必须在日期下方显示。API 的响应给了我一个array of dictionaries. "service_date"字典在字符串中具有键和值,例如"10/02/2017".

如何使用该方法haveTaskForDay检查服务日期?

4

1 回答 1

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;
}

注意:我没有运行此代码。如有必要,您应该进行更正。

于 2017-03-27T07:02:18.887 回答