2016-07-18 8 views
0

私はストーリーボードを使用しました。このプロジェクトでは、ios 9、Xcode 7.2を使用して、Webサーバーのフェッチデータによるカレンダー表示とイベント表示を使用しました。 カレンダーキットのフレームワークを追加しました。また、私のプロジェクトを最初に2つ追加するプロジェクトはCKDemoViewController.hで、2番目はCKDemoViewController.mです。今回は静的イベントを作成します。しかし、私は動的なイベントを作成したい。どのようにそれが可能です。私は何度も試みましたが、動的なイベントを作成できませんでした。どのように可能です、ありがとう、助けてください。JSONによるイベントをMBCalendarKitに追加する方法

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 
+0

でこの質問を解決しています

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

を動的なイベントを意味しますか?あなたはイベントをデータソースに保存していませんか? –

+0

@JTAppleCalendarforiOSSwift動的イベントとは、Webサーバーの応答が日付とデータを取得してカレンダーにリロードする方法を意味します。 –

+0

このリンクを参照してください:http://stackoverflow.com/questions/38408557/mbcalendar-kit-framework-how-to-add-in-my-project –

答えて

1

別のあなたのロジック設定コードだけつのイベントのために、このリンクを参照してください:私もあなたが何MBCalendar kit framework how to add in my project

+0

どこにイベントを設定しますか? –

+0

私は昨日同じ質問をしました –

+0

私は昨日イベントコードを設定しています。 Dropboxのリンクを参照してください。 –

関連する問題