开发者

EKCalendar Error

I have an app that programmatically saves an EKEvent to you iOS calendar. Instead of it going to the default calendar you choose the calendar you wish it to b开发者_Python百科e placed in. I am having a problem with the way you are picking it because some calendars work but not others.


You are setting your event's calendar twice

[event setCalendar:c]; 
[event setCalendar:[[eventStore calendars]objectAtIndex:calendararray]]; 

Please tell me where do you get calendararray is it an array? i seems more like an indexKey.


Instead of passign the index of your selected calendar, pass its title, like this: [calendar title] or calendar.title. then using this title look for the one in the complete list of edit and noneditable.


UPDATE

Just do something like this:

EKCalendar *theSelectedCalendar;
// selectedCalendarTitle comes from your delegate instead of your index...

for (EKCalendar *thisCalendar in eventStore.calendars){
    if ([thisCalendar.title isEqualToString:selectedCalendarTitle]){
       [event setCalendar:thisCalendar];
    }
}

UPDATE 2

EKCalendar *theSelectedCalendar;
// selectedCalendarTitle comes from your delegate instead of your index...

for (int i=0; i<=([eventStore.calendars count]-1); i++) {
    if ([[[[eventStore calendars]objectAtIndex:i] title] isEqualToString:selectedCalendarTitle]){
       [event setCalendar:[[eventStore calendars]objectAtIndex:i]];
    } 
}

UPDATE 3

//Present the picker populated with the array: eventStore.calendars. This should return the index and store it in: indexOfSelectedCalendarFromEventSoreCalendars

if ([[[eventStore calendars] objectAtIndex:indexOfSelectedCalendarFromEventSoreCalendars] allowsContentModifications]){
  [event setCalendar:[[eventStore calendars] objectAtIndex:indexOfSelectedCalendarFromEventSoreCalendars]];

} else {
    NSLog(@"Selected calendar cannot be modified."); //Present the picker again for the user to select another calendar.
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜