Я пытаюсь выяснить, можно ли отменить запрос к базе данных EventKit.Я запрашиваю EventKit с помощью предиката, который соответствует всем событиям за определенную неделю.Этот запрос может занять некоторое время в зависимости от того, сколько событий возвращено.
Зачем мне это нужно?Ну, в моем приложении для iPhone пользователь просматривает недели своего календаря.Каждый раз, когда пользователю показывается новая неделя, приложение должно загружать все события за эту неделю.Поскольку это занимает пару сотен миллисекунд, приложение не так отзывчиво, как должно быть.Пользователь в основном должен просматривать немного медленнее, потому что пользовательский интерфейс останавливается на короткое время каждый раз, когда он просматривает другую неделю.
Я уже выполняю запрос в фоновом потоке, используя "executeSelectorInBackground".Это все еще немного останавливает пользовательский интерфейс.Решение, о котором я думаю, состоит в том, что всякий раз, когда пользователь решает перейти на другую неделю, текущий запрос EventKit отменяется.Недостатком этого является, вероятно, то, что пользователь иногда не видит события той недели сразу, потому что запрос был отменен, но, надеюсь, пользовательский интерфейс всегда будет очень отзывчивым.
Так что это вообще возможно?Кто-нибудь знает?Могу ли я отменить запрос EventKit?Может быть, остановив поток, в котором он работает?Любой совет приветствуется!