Мне нужна фоновая операция, которая должна быть запланирована каждые 10 минут или около того. Операция состоит из сбора объектов из основных данных и загрузки их информации в веб-сервис, чтобы не изменять их каким-либо образом.Использование NSTimer для запуска NSThread в ios
Подход, о котором я думаю, заключается в создании nstimer в делегате приложения, который срабатывает каждые 10 минут. Это вызовет NSThread, который запустит операцию в фоновом режиме, не создавая никаких помех для пользователя. Поток будет здесь после выхода нормально.
Я искал начало темы и просто устанавливал ее в режим сна после каждого выполнения операции, но подход таймера казался самым чистым.
Другое предложение в Интернете - использовать runloops, однако я не вижу использования в этом конкретном случае.
У кого-нибудь есть предложение или вы хотите сказать, как они справляются с подобной ситуацией.
С уважением
Привет, Ник, благодарю вас за ответ. В основном поток имеет свой собственный общий контекст и извлекает объекты из постоянного хранилища. Затем он получает информацию от объектов и загружает их в веб-службу. Это никак не изменяет объекты. И именно из-за планирования и загрузки я думаю об этом подходе. Я использую ASIHTTPRequest для загрузки в веб-сервис. – Bjarke
Возможно, вы захотите переосмыслить использование ASI, так как разработчик официально отказался от него, и он не очень хорошо работает с ARC. Вы можете выполнять загрузку с помощью обычного асинхронного NSURLConnection и запускаться на runloop без блокировки пользовательского интерфейса и без необходимости генерировать новый поток (я предполагаю, что он использует потоки внутри, но вам не нужно самостоятельно управлять параллелизмом). –