ios - 如何使用EventKit处理重复事件

标签 ios iphone objective-c eventkit

我从Web服务收到一些事件。我使用Eventkit以编程方式添加了这些事件。我有一个Add按钮,该按钮调用代码以添加接收到的事件。但是,重复的添加操作将复制事件,而不是合并事件(如果事件已经存在)。

如何避免事件重复?

最佳答案

您必须先检查现有事件,然后再添加它。以下代码显示了如何执行此操作。我已经单独检查标题和开始日期来确定事件,您可以根据需要使用更多参数。

EKEventStore *eventStore = [[EKEventStore alloc] init];
NSPredicate *predicate = [eventStore predicateForEventsWithStartDate:[startDate dateByAddingTimeInterval:-60]
                                                             endDate:[endDate dateByAddingTimeInterval:60] calendars:nil];
    NSArray *events = [eventStore eventsMatchingPredicate:predicate];
    bool found = NO;
    for ( EKEvent *evt in events )
    {
        if ( [evt.title isEqualToString:title]  && [evt.startDate isEqualToDate:startDate])
        {
            found = YES;                
            break;
        }
    }
if(!found)
{
//Add your event here.
}

关于ios - 如何使用EventKit处理重复事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22370412/

相关文章:

javascript - 使用 Titanium,删除当前 View 或弹出当前 View

ios - 使用 Fabric SDK iOS 访问 Twitter 用户时间线

ios - 如何在应用程序委托(delegate)中调用 View Controller 中的方法?

iOS - 如何检测按钮是否被按下两次

ios - 无法在由自定义 UIViewController 控制的 UILabel 上设置文本

ios - CloudKit CK订阅,订阅ID

iphone - UIImage imageNamed : does not find image within blue referenced Xcode-folder

ios - 从 xcode 安装应用程序时出错

objective-c - Xcode - 将东西上传到服务器/网络服务(如何?!)

iphone - 如何使用 xcode 4 运行phonegap?