EKCalendarChooser多项选择不起作用

use*_*955 4 objective-c uikit ipad eventkit ios5

我试图用来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];
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

当我使用EKCalendarChooserSelectionStyleSingle而不是时EKCalendarChooserSelectionStyleMultiple,一切正常,并且我将通过selectedCalendars属性获得正确的所选日历。

我做错什么了EKCalendarChooser吗,或者这是一个错误?

小智 5

如果您self.selectedCalendars为nil,则必须dvc.selectedCalendars使用有效但为空的集合来初始化。

dvc.selectedCalendars = [[NSSet alloc] init];
Run Code Online (Sandbox Code Playgroud)