JTcalendar语言 - 如何使用方法 (BOOL)haveTaskForDay:(NSDate*)date.



我在项目中使用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;
}

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

最新更新