【发布时间】:2015-02-16 12:51:42
【问题描述】:
在我的应用程序中,我将事件保存到日历中..
但如果活动是从 2015 年 2 月 1 日到 2015 年 2 月 20 日。
我如何删除 2015 年 2 月 1 日至 2015 年 2 月 15 日的活动,因为这些活动已完成。
我用谷歌搜索并使用 iPhone 的设置选项找到了答案
https://apple.stackexchange.com/questions/103570/auto-delete-previous-old-events-from-ios-7-calendar
我使用下面的代码删除我日历中的所有事件
NSDate *startDate = [NSDate date];
NSDate* endDate = [NSDate dateWithTimeIntervalSinceNow:[[NSDate distantFuture] timeIntervalSinceReferenceDate]];
NSArray *calendarArray = [NSArray arrayWithObject:self.defaultCalendar];
NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:calendarArray];
NSArray *events = [self.eventStore eventsMatchingPredicate:predicate];
for (EKEvent *event in events)
{
NSError* err = nil;
[self.eventStore removeEvent:event span:EKSpanFutureEvents commit:YES error:&err];
}
但是否可以通过任何方式删除已完成的旧事件。否则以编程方式删除旧于 2015 年 2 月的事件。
注意:如果未设置结束日期,我正在使用需要 14 天的重复事件..
任何想法和建议如何解决它..
在此先感谢..!
【问题讨论】:
标签: ios objective-c nscalendar ekevent