Поиск EKEvents с помощью метода предиката ForEventsWithStartDate:endDate:calendars
Я использую predicateForEventsWithStartDate:endDate:calendars
чтобы найти все события, которые происходят в данный 24-часовой период. Я хочу, чтобы все события происходили в этот день. Я изо всех сил пытаюсь обработать события, которые охватывают несколько дней - то есть, начинаются в 10 вечера и заканчиваются в 2 часа ночи на следующий день.
Похоже, что предикатный запрос учитывает только даты начала календарных событий при выполнении поиска. Он показывает мне события, которые начались в мое указанное время (и закончилось впоследствии), но не события, которые начались до определенного периода времени, но затем просочились в него.
Я мог бы просто установить дату начала раньше, а затем удалить события, которые заканчиваются до начала сегодняшнего дня.
Документы Apple не особенно проницательны:
(NSPredicate *)predicateForEventsWithStartDate:(NSDate *)startDate endDate:(NSDate *)endDate calendars:(NSArray *)calendars
startDate: // The start date of the range of events fetched.
endDate: // The end date of the range of events fetched.
2 ответа
Эти ссылки могут помочь вам
Почему бы вам не идентифицировать каждое событие, которое вы создали, с его идентификатором, а затем извлечь его позже, используя эти идентификаторы. Мне пришлось удалить некоторые из установленных событий, я идентифицировал их с идентификатором и удалил их. Посмотрите, может ли эта ссылка помочь.
Вы можете редактировать событие, как только вы правильно его определили.
Удаление EKEvent из календаря устройства по его идентификатору