MBCalendarKitを Core Dataに接続しています。
これは、イベントの辞書を作成するコードです。
for (Task *task in _taskArray)
{
_event = [CKCalendarEvent eventWithTitle:[task valueForKey:@"title"] andDate:[task valueForKey:@"startDate"] andInfo:nil];
[_eventsArray addObject:_event];
}
// Moving events to Dictionary
[_calendarData setObject:_eventsArray forKey:_event.date];
メソッドCKCalendarDataSourceを実装すると、結果は望ましいものではありません。以下に示すように、カレンダーのすべての日付について、配列内のすべてのイベントを取得します。
- (NSArray *)calendarView:(CKCalendarView *)calendarView eventsForDate:(NSDate *)date {
return _calendarData[_event.date];
}