в моем приложении я отображаю список событий EKEvents и хочу отобразить все события месяца в UITableView, каждый раздел содержит соответствующие дни. Ну, это работает, и я получаю все данные, которые мне нужны, но выборка очень медленная.
Проблема заключается в событиях, которые распространяются на несколько дней.
- Допустим, я уезжаю в отпуск с 10 ноября по 17 ноября.
- Мой предикат поиска имеет дату начала с 1 ноября и дату окончания с 30 ноября.
- Я делаю enumerateEventsMatchingPredicate или eventsMatchingPredicate, что угодно, оба медленные.
В ответ я получаю массив со всеми событиями, происходящими в ноябре, а также с моими каникулами.
Но мой отпуск - только один объект EKEvent. Поэтому, если я хочу отображать ежемесячный список событий, он будет отображаться только один раз, 10 ноября, но для ясности я буду показывать его каждый день, 10, 11, ... 17-го.
Итак, что я делаю, так это перебираю каждый день месяца и делаю выборку: - / Таким образом, я получаю правильное количество событий, которые происходят в определенный день, но ... это так сложно.
Я уже поместил выборку в dispatch_async, поэтому выборка не блокирует пользовательский интерфейс, и после завершения выборки tableView перезагружается и ячейки перерисовываются. Но это все еще требует времени. Нет удобного времени.
Как вы выполняете эти поиски? У вас есть какие-либо советы о том, как ускорить поиск, возможно, небольшой фрагмент кода или вы можете указать мне правильное направление!?
Мой вопрос понятен? : - /
Спасибо,
-Martin.