iOS – 删除重复的EKEvent,事件再次出现

iOS – 删除重复的EKEvent,事件再次出现,第1张

概述我在日历中有一个重复发生的事件.我使用此代码删除单个事件[store removeEvent:event span:EKSpanThisEvent commit:YES error:& errorThis];并且此方法返回true,但不会从日历中删除该事件. 在使用属性calendarItemExternalIdentifier的EKCalendarItem类引用中,您可以找到它 Recurrin 我在日历中有一个重复发生的事件.我使用此代码删除单个事件[store removeEvent:event span:EKSpanThisEvent commit:YES error:& errorThis];并且此方法返回true,但不会从日历中删除该事件.解决方法 在使用属性calendarItemExternalIDentifIEr的EKCalendarItem类引用中,您可以找到它

Recurring event IDentifIErs are the same for all occurrences. If you wish to differentiate between occurrences,you may want to use the start date

因此,您只想删除重复,您必须执行以下 *** 作:

nspredicate *predicate = [eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:calendars];NSArray *theEvents = [eventStore eventsMatchingPredicate:predicate];Nsstring *recurrenceEventIDentifIEr;for(EKEvent * theEvent in theEvents){                    if([theEvent.eventIDentifIEr isEqualToString: recurrenceEventIDentifIEr]        && ![eventStore removeEvent:theEvent span:EKSpanThisEvent error:&error])    {        NSLog(@"Error in removing event: %@",error);    }}

相反,您的方法只删除第一个匹配项.如果要删除所有重复事件,只需更改EKSpanFutureEvents中的“span”参数即可.

编辑:现在只删除匹配的重复事件,而不是一切.

总结

以上是内存溢出为你收集整理的iOS – 删除重复的EKEvent,事件再次出现全部内容,希望文章能够帮你解决iOS – 删除重复的EKEvent,事件再次出现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存