2

私はiPhoneカレンダーに関連する1つの簡単なアプリケーションを開発しています。アプリケーションからiPhoneカレンダーにカレンダーイベントを追加できます。イベントを保存したらすぐに、保存したイベントIDを取得する必要があります。どうすればこれを達成できますか。以下は、イベントを保存するためのコードです。

EKEventStore *eventStore = [[EKEventStore alloc] init]; 
EKEvent *event  = [EKEvent eventWithEventStore:eventStore]; 
event.title     = @"xxx"; 
event.notes = @"yyy";   
event.startDate = [[NSDate alloc] init];
event.endDate   = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate]; 
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];    

前もって感謝します。

4

1 に答える 1

1

イベントを保存するには、このメソッドを呼び出し、すべての保存イベントを識別子とともに出力します。

- (void)eventEditViewController:(EKEventEditViewController *)controller
didCompleteWithAction:(EKEventEditViewAction)action {

NSError *error = nil;

EKEvent *thisEvent = controller.event;

switch (action) {
case EKEventEditViewActionCanceled:
// Edit action canceled, do nothing.
break;

case EKEventEditViewActionSaved:
// When user hit "Done" button, save the newly created event to the event store,
// and reload table view.
// If the new event is being added to the default calendar, then update its
// eventsList.
if (self.defaultCalendar ==  thisEvent.calendar) {

[self.eventsList addObject:thisEvent];
}

[controller.eventStore saveEvent:controller.event span:EKSpanThisEvent error:&error];
**NSLog(@"thisEvent.id = %@", thisEvent.eventIdentifier);**
[self.tableView reloadData];
break;

case EKEventEditViewActionDeleted:
// When deleting an event, remove the event from the event store,
// and reload table view.
// If deleting an event from the currenly default calendar, then update its
// eventsList.
if (self.defaultCalendar ==  thisEvent.calendar) {
[self.eventsList removeObject:thisEvent];
}
 **NSLog(@"thisEvent.id = %@", thisEvent.eventIdentifier);**
[controller.eventStore removeEvent:thisEvent span:EKSpanThisEvent error:&error];
[self.tableView reloadData];
break;

default:
break;
}
// Dismiss the modal view controller
[controller dismissModalViewControllerAnimated:YES];

}
于 2012-09-07T04:37:29.867 に答える