JTcalendar - 如何使用方法(BOOL)hasTaskForDay:(NSDate *)日期

时间:2017-03-27 06:55:38

标签: ios objective-c jtcalendar

我在我的项目中使用JTCalendar。如果当天的活动可用,我将在日期下显示indicators (round dots)。来自API的回复给了我array of dictionaries。 Dictionary有一个键"service_date",其值为"10/02/2017"

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

1 个答案:

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

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