如何在tapku库上显示包含开始日期和结束日期的json数据?

时间:2014-12-31 09:36:42

标签: ios json calendar tapku

我已经开始讨论如何在tapku库中标记日期。根据他们我得到的JSON下面的代码,但它显示标记或整个日历或没有日期。

这是我的JSON

data: [
  {
    id: "2",
    repeat: "0",
    allDay: false,
    title: "All Day Event",
    start: "2014-01-01 00:00:00",
    end: "2014-01-01 00:00:00",
    rend: ""
  },
  {
    id: "3",
    repeat: "0",
    allDay: false,
    title: "Long Event",
    start: "2014-01-07 00:00:00",
    end: "2014-01-10 00:00:00",
    rend: ""
  },
  {
    id: "4",
    repeat: "0",
    allDay: false,
    title: "Repeating Event",
    start: "2014-01-09 16:00:00",
    end: "2014-01-09 16:00:00",
    rend: ""
  },
]

这是我的代码。

-(NSArray*) calendarMonthView:(TKCalendarMonthView*)monthView marksFromDate:(  NSDate*)startDate toDate:(NSDate*)lastDate{

NSMutableArray *marks = [NSMutableArray array];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];

for (NSDictionary *dict in APPDELEGATE.calenderDataArray) {

    NSString *startdate=[[[dict objectForKey:@"start"] componentsSeparatedByString:@" "] objectAtIndex:0];
    NSString *enddate=[[[dict objectForKey:@"end"] componentsSeparatedByString:@" "] objectAtIndex:0];
    NSArray *CalenderDays=[NSArray arrayWithObjects:
                       [NSString stringWithFormat:@"%@",startdate], nil];




    NSDate *d = startDate;

    NSString * dateStart  = [dateFormat stringFromDate:startDate];
    NSLog(@"datestart==%@",dateStart);
    NSLog(@"CalenderDays==%@",CalenderDays);
    while(YES){

        if ([CalenderDays containsObject:dateStart]) {
            [marks addObject:[NSNumber numberWithBool:YES]];
        } else {
            [marks addObject:[NSNumber numberWithBool:NO]];
        }

        NSDateComponents *info = [d dateComponentsWithTimeZone:self.monthView.timeZone];
        info.day++;
        d = [NSDate dateWithDateComponents:info];
        if([d compare:lastDate]==NSOrderedDescending) break;
    }


}

NSLog(@"MarkArray %@",marks); //marks null value
return [NSArray arrayWithArray:marks];


}

我想显示从JSON到tapku日历的日期。

但我没有取得成功。

1 个答案:

答案 0 :(得分:0)

以下是方法名称: calendarMonthView:marksFromDate toDate

因此,创建一个包含所有 NSDate 对象的数组,这些对象需要标记,然后为所有这些日期调用此方法(在for循环中)。

以下是参考资料:

https://github.com/devinross/tapkulibrary/blob/master/src/TapkuLibrary/TKCalendarMonthView.h

  

/ **与日历月标记对应的数据源   某个月的网格。 @param monthView日历月   网格。 @param startDate日历月显示的第一个日期   网格。 @param lastDate日历月网格显示的最后一个日期。   @return返回与该数字对应的NSNumber对象数组   在开始和最后一天参数中指定的天数。每个NSNumber   变量将给出将用于显示点的BOOL值   在这一天。 * /

  - (NSArray*) calendarMonthView:(TKCalendarMonthView*)monthView marksFromDate:(NSDate*)startDate toDate:(NSDate*)lastDate;