Поиск EKEvents с помощью метода predicateForEventsWithStartDate:endDate:calendars

Я использую predicateForEventsWithStartDate:endDate:calendars, чтобы найти все события, которые происходят в течение заданного 24-часового периода. Я хочу все события, где какая-либо часть события происходит в этот день. Я изо всех сил пытаюсь справиться с событиями, которые охватывают несколько дней, т.е. начинаются в 22:00 и заканчиваются в 2:00 «следующего» дня.

Предикатный запрос, по-видимому, учитывает только даты начала событий календаря при выполнении поиска. Он показывает мне события, которые начались в указанное мной время (и закончились позже), но не события, которые начались до периода времени, но затем просочились в него.

Я мог бы просто установить дату начала раньше, а затем удалить события, которые заканчиваются до начала сегодняшнего дня.

Документы 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.

person Awais Hussain    schedule 02.07.2013    source источник


Ответы (2)


Эти ссылки могут помочь вам

Получить все события из EventStore EventKit iOS

http://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/EventKitProgGuide/ReadingAndWritingEvents.html

person Baddu    schedule 02.07.2013

Почему бы вам не идентифицировать каждое созданное вами событие с помощью его идентификатора и не получить его позже, используя сами эти идентификаторы. Мне пришлось удалить часть установленных событий, я определил их идентификатором и удалил. Посмотрите, может ли эта ссылка помочь.

Вы можете отредактировать событие после того, как правильно его идентифицировали.

Удаление EKEvent из календаря устройства с использованием его идентификатора< /а>

person JgdGuy    schedule 02.07.2013