EKCalendarChooser множественный выбор не работает - PullRequest
3 голосов
/ 26 февраля 2012

Я пытаюсь использовать EKCalendarChooser, чтобы получить несколько календарей, выбранных пользователем.Вот как я представляю представление:

EKCalendarChooser* dvc= [[[EKCalendarChooser alloc] initWithSelectionStyle:EKCalendarChooserSelectionStyleMultiple displayStyle:EKCalendarChooserDisplayAllCalendars eventStore:eventStore] autorelease];

dvc.selectedCalendars= self.selectedCalendars;
dvc.delegate= self;
dvc.contentSizeForViewInPopover= CGSizeMake(320.0, 480.0);

self.popOver= [[UIPopoverController alloc] initWithContentViewController:dvc];
[self.popOver release];
self.popOver.delegate= self;

UIBarButtonItem* item= sender;

[self.popOver presentPopoverFromBarButtonItem:item permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

Я получаю сообщение calendarChooserSelectionDidChange, как только выбираю один или несколько календарей, но каждый раз, когда свойство selectedCalendars EKCalendarChooser пусто!

- (void)calendarChooserSelectionDidChange:(EKCalendarChooser *)calendarChooser
{
   NSLog(@"selected %d calendars", calendarChooser.selectedCalendars.count);
}

2012-02-26 12:50:39.137 MyApp[8604:707] selected 0 calendars
2012-02-26 12:50:42.100 MyApp[8604:707] selected 0 calendars

Когда я использую EKCalendarChooserSelectionStyleSingle вместо EKCalendarChooserSelectionStyleMultiple, все работает нормально, и я получу правильный выбранный календарь через свойство selectedCalendars.

Я делаю что-то не так или это ошибкав EKCalendarChooser?

1 Ответ

4 голосов
/ 15 августа 2012

Если ваш self.selectedCalendars равен нулю, вы должны инициализировать dvc.selectedCalendars с допустимым, но пустым набором.

dvc.selectedCalendars = [[NSSet alloc] init];
...