特定のカレンダーからのみイベントを取得しようとしています。iPhoneにカレンダー「CalendarTest」を追加しました。私がやりたいことは、アプリでそのカレンダーからイベントを取得することだけです。私は次のことをしています。
self.defaultCalendar = [eventStore calendarWithIdentifier:@"CalendarTest"];
NSArray *calendarArray = [NSArray arrayWithObject:defaultCalendar];
// asynchronous callback on the main thread
[events removeAllObjects];
NSLog(@"Fetching events from EventKit between %@ and %@ on a GCD-managed background thread...", fromDate, toDate);
dispatch_async(eventStoreQueue, ^{
NSDate *fetchProfilerStart = [NSDate date];
NSPredicate *predicate = [eventStore predicateForEventsWithStartDate:fromDate endDate:toDate calendars:calendarArray];
NSArray *matchedEvents = [eventStore eventsMatchingPredicate:predicate];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Fetched %d events in %f seconds", [matchedEvents count], -1.f * [fetchProfilerStart timeIntervalSinceNow]);
[events addObjectsFromArray:matchedEvents];
[delegate loadedDataSource:self];
});
});
しかし、ビルドして実行すると、次のエラーが発生し、次のエラーでクラッシュします。
2012-11-20 11:45:35.445 CalendarApp[2685:1d03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'
誰にもアイデアがありますか?敬具!