2012-06-04 7 views
3

Я получаю события от веб-службы в своем приложении, каждое событие имеет уникальный идентификатор.Как отслеживать события, добавленные моим приложением в кассете iphone

Если пользователь хочет подтолкнуть это событие к родному каландру спасу этому события в родном, но как бы я знать, если это событие уже существует в родном календаре как я не могу установить eventIdentifier свойства объекта EKEvent

Я попытался подклассов EKEvent и добавить свой собственный идентификатор

eventStore = [[EKEventStore alloc] init]; 
MyEvent *event = [MyEvent eventWithEventStore:eventStore]; 
event.myEventIdentifier = @"MyEventIdentifier"; 
[event setCalendar:[eventStore defaultCalendarForNewEvents]]; 
event.startDate = [NSDate date]; 
event.endDate = [NSDate dateWithTimeIntervalSinceNow:10000]; 
event.title = @"MyEventTitle"; 
[eventStore saveEvent:event span:EKSpanThisEvent error:nil]; 

Но когда я retrive объект события я не получаю мой объект подкласса и он выбрасывает исключение , когда я назвал

[event valueForKey:@"MyEventIdentifier"]; 

Теперь, как вы можете видеть, я не могу установить свойство eventIdentifier в классе EKEvent, также подкласс EKEvent не работает.

Как я могу достичь требуемой функциональности, любых предложений?

ответ

3

Im ищет EKEvent для чего-то подобного, но EKEvent имеет идентификатор, доступ к которому вы можете получить.

После того, как вы сохраните событие, вы можете получить доступ к его идентификатору,

NSString *eventID = [NSString stringWithFormat:@"%@", event.eventIdentifier]; 

Сохранить эту строку и использовать его для удаления события, но обратите внимание event.eventIdentifier только для чтения,

+1

я уже знал, что когда я разместил этот вопрос .. вы бы знали все события, сохраненные в собственном календаре, сохраняя все eventIdentifiers, но эти данные были бы потеряны, если пользователь удалит приложение с устройства, и если он снова установит приложение, вы не будете иметь представления о том, какой из ваши события существуют в собственном календаре –

+0

Большое вам спасибо. Ты дал мне ключ. Еще раз спасибо –