次のコードは機能し、iPhone カレンダー データベースからすべてのカレンダー イベントを削除します。しかし、イベントの削除は非常に遅く、iPhone 3GS では 1 秒あたり 2 つのイベントです。3000 のイベントがある場合、それらを消去するのに 25 分かかります... このコードをどのように最適化しますか? 多分私は何か間違ったことをしていますか?ありがとう。
- (void)deleteAllCalendarEventsFromIPhone:(NSError **)error {
EKEventStore *store = [[EKEventStore alloc] init];
NSUInteger beginYear = 1900;
NSUInteger endYear = 2100;
while (beginYear < endYear) {
NSPredicate *predicate =
[store predicateForEventsWithStartDate:[self createDateWithYear:beginYear month:1 day:1]
endDate:[self createDateWithYear:beginYear + 4 month:1 day:1]
calendars:nil];
NSArray *eventList = [store eventsMatchingPredicate:predicate];
for (EKEvent *event in eventList) {
success = [store removeEvent:event span:EKSpanThisEvent error:nil];
}
beginYear += 4;
}
[store release];
}