当start和enddate相同时,检查重复事件不起作用

时间:2013-05-23 15:34:43

标签: ios objective-c nspredicate eventkit

我遇到过这个问题;如果事件的开始日期和结束日期完全相同,则检查事件的后续方法是日历不起作用,并且用户可以添加具有完全相同信息的多个事件。

如果开始日期和结束日期不同,则方法运行良好。 泡沫日期:

[dateFormatter  setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

寻找活动:

NSPredicate *predicateForEventsOnHolidayDate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:self.eventStore.calendars]; // nil will search through all calendars

            NSArray *eventsOnHolidayDate = [self.eventStore eventsMatchingPredicate:predicateForEventsOnHolidayDate];

            BOOL eventExists = NO;

            for (EKEvent *eventToCheck in eventsOnHolidayDate) {
                if ([eventToCheck.title isEqualToString:[dataDict objectForKey:@"event_name"]]) {
                    eventExists = YES;
                    NSLog(@"Event Already Exists");
                }
            }
            //save eventts
            if (eventExists == NO) {
                [self.eventStore saveEvent:myEvent span:EKSpanThisEvent commit:YES error:&error];
}

我知道会有一些用户太懒,他们不会正确填写数据表格,所以我会得到相同的开始日期和结束日期。

如何防止这种情况发生?

0 个答案:

没有答案