Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Что означает эта ошибка (при модификации события)?

Автор вопроса: harshalbОтветов: 1

Привет всем, я использую приведенный ниже код для создания события:

EKEvent *oneLabEvent = [EKEvent eventWithEventStore:eventStore];

oneLabEvent.calendar = eventStore.defaultCalendarForNewEvents;
oneLabEvent.title = [ddEvent valueForKey:@"ddname"];
oneLabEvent.allDay = NO;

oneLabEvent.startDate = [ddEvent valueForKey:@"startDate"];
oneLabEvent.endDate = [ddEvent valueForKey:@"endDate"];


//setting the alarm for the event

EKAlarm * alarm = [EKAlarm alarmWithRelativeOffset:0];
oneLabEvent.alarms = [NSArray arrayWithObject:alarm];

//setting the Reuccurence rule
EKRecurrenceRule * recurrenceRule = [[EKRecurrenceRule alloc]
                                     initRecurrenceWithFrequency:EKRecurrenceFrequencyMonthly
                                     interval:1
                                     end:nil];
if (oneLabEvent.endDate != nil) {
    EKRecurrenceEnd * end = [EKRecurrenceEnd recurrenceEndWithEndDate:oneLabEvent.endDate];
    recurrenceRule.recurrenceEnd = end;
}else {
    oneLabEvent.endDate = oneLabEvent.startDate;
}


oneLabEvent.recurrenceRule = recurrenceRule;
[recurrenceRule release];

NSError *error;

BOOL saved = [eventStore saveEvent:oneLabEvent span:EKSpanThisEvent error:&error];
if (!saved && error) {
    NSLog(@"Error while saving the event:%@",[error localizedDescription]);
}

[ddEvent setValue:oneLabEvent.eventIdentifier forKey:@"eventID"];

в моем телефоне это работает как шарм, но когда друг в своем iphone пытается изменить событие, он получает эту ошибку.

замещающий текст http://img208.imageshack.us/img208/8850/photot.png

Теперь может ли кто-нибудь сказать мне, что что-то не так с моим кодом или есть ли какие-либо настройки календаря, которые могут отличаться от моего телефона и телефона друга.

  • Каковы даты начала и окончания? Похоже, событие занимает больше времени, чем интервал повторения... Может быть, проверить годы. Eiko 14.08.2010
  • вы можете увидеть дату начала и окончания на изображении выше. это не правильно, но вы можете видеть это, хотя. но в айфоне нет проблем с модификациями. harshalb 14.08.2010
  • начало - 14 августа, повтор - ежемесячно, интервал - 1, окончание повтора - 14 августа 2023 г. harshalb 14.08.2010
  • Пожалуйста, смотрите мой ответ и отлаживайте :-) Eiko 14.08.2010

iphoneeventscalendar

Ответы

Ответ 1 · рейтинг 2 · Eiko

Ваши даты начала и окончания относятся к разным годам. 14 августа в этом году - суббота, но дата окончания - сегодня - 14 августа.

Итак, это из другого года, что делает его длиннее одного месяца, который является вашим интервалом повторения.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы