如何在MBCalendarKit中通过JSON添加事件



我使用了故事板和ios 9,Xcode 7.2,在这个项目中使用了日历视图和事件显示由Web服务器获取数据。我添加了日历工具包框架,还有两个文件添加我的项目,第一个是CKDemoViewController.h,第二个是CKDemoViewController.m,这次创建一个静态事件。但我想创建一个动态事件。那么怎么可能。我尝试了很多次,但无法创建动态事件。怎么可能,请帮忙,谢谢。

CKDemoViewController.m

#import "CKDemoViewController.h"
#import "NSCalendarCategories.h"
#import "NSDate+Components.h"
@interface CKDemoViewController () <CKCalendarViewDelegate, CKCalendarViewDataSource>
{
NSArray*date;
NSArray*title;
NSArray*img;
NSArray*des;
NSArray*evnt_ary;
NSArray*timeary;

}
@property (nonatomic, strong) NSMutableDictionary *data;
@end
@implementation CKDemoViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSURLRequest *req=[[NSURLRequest alloc]initWithURL:[NSURL URLWithString:@"http://edutimeapp.com/toshow/chamber-of-commerc/ws/fetch_event.php"]];
response =[[NSMutableData alloc]init];
[NSURLConnection connectionWithRequest:req delegate:self];
self.data = [[NSMutableDictionary alloc] init];
[self setDataSource:self];
[self setDelegate:self];
//  An event for the new MBCalendarKit release.
NSString *title = NSLocalizedString(@"Release MBCalendarKit 2.2.4", @"");
NSDate *date = [NSDate dateWithDay: 12 month:11 year:2016];
CKCalendarEvent *releaseUpdatedCalendarKit = [CKCalendarEvent eventWithTitle:title andDate:date andInfo:nil];
//  An event for the new Hunger Games movie.
NSString *title2 = NSLocalizedString(@"The Hunger Games: Mockingjay, Part 1", @"");
NSDate *date2 = [NSDate dateWithDay:21 month:11 year:2014];
CKCalendarEvent *mockingJay = [CKCalendarEvent eventWithTitle:title2 andDate:date2 andInfo:nil];
//  Integrate MBCalendarKit
NSString *integrationTitle = NSLocalizedString(@"Integrate MBCalendarKit", @"");
NSDate *integrationDate = date2;
CKCalendarEvent *integrationEvent = [CKCalendarEvent eventWithTitle:integrationTitle andDate:integrationDate andInfo:nil];
//  An event for the new MBCalendarKit release.
NSString *title3 = NSLocalizedString(@"Fix bug where events don't show up immediately.", @"");
NSDate *date3 = [NSDate dateWithDay:29 month:11 year:2014];
CKCalendarEvent *fixBug = [CKCalendarEvent eventWithTitle:title3 andDate:date3 andInfo:nil];
self.data[date] = @[releaseUpdatedCalendarKit];
self.data[date2] = @[mockingJay, integrationEvent];
self.data[date3] = @[fixBug];
 }
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData   *)data
{
[response appendData:data];
NSLog(@"error receving data %@",response);
 }
 -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
 {
 }
 -(void)connectionDidFinishLoading:(NSURLConnection *)connection
 {
NSError *error;
NSLog(@"Error in receiving data %@",error);
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves  error:&error];
NSLog(@"response data %@",json);
NSArray *results = [json objectForKey:@"status"];
title = [[results valueForKey:@"event"]valueForKey:@"event_title"];
NSLog(@"event name fetch %@",title);

date =[[results valueForKey:@"event"]valueForKey:@"event_date"];

NSLog(@"event fetch %@",date);
img =[[results valueForKey:@"event"]valueForKey:@"img"];
des =[[results valueForKey:@"event"]valueForKey:@"event_detail"];
evnt_ary =[[results valueForKey:@"event"]valueForKey:@"event_name"];
timeary =[[results valueForKey:@"event"]valueForKey:@"event_time"];
 }

#pragma mark - CKCalendarViewDataSource
- (NSArray *)calendarView:(CKCalendarView *)calendarView eventsForDate:(NSDate *)date
{
return [self data][date];
}
 #pragma mark - CKCalendarViewDelegate
// Called before/after the selected date changes
- (void)calendarView:(CKCalendarView *)CalendarView willSelectDate:(NSDate *)date
  {
 }
 - (void)calendarView:(CKCalendarView *)CalendarView didSelectDate:(NSDate  *)date
{
}
//  A row is selected in the events table. (Use to push a detail view or whatever.)
 - (void)calendarView:(CKCalendarView *)CalendarView didSelectEvent:(CKCalendarEvent *)event
{
}
 @end

请参阅此链接以获取代码 只有一个事件 设置另一个 你的逻辑:

https://www.dropbox.com/home?preview=proj.zip

我也在MBCalendar套件框架中解决这个问题,如何在我的项目中添加

最新更新