4

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];

1 つ以上のカレンダーを選択するとメッセージが表示されますが、selectedCalendars プロパティが空calendarChooserSelectionDidChangeになるたびに!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ですか?

4

1 に答える 1

6

self.selectedCalendarsnil の場合は、有効だが空のセットで初期化する必要dvc.selectedCalendarsがあります。

dvc.selectedCalendars = [[NSSet alloc] init];
于 2012-08-15T18:46:13.170 に答える