отмена запроса API при входе приложения в фоновый режим - PullRequest
0 голосов
/ 02 ноября 2011

При запуске приложения на моем iPhone мне нужно загрузить данные с сервера. При загрузке данных (в середине процесса), если я нажимаю кнопку «Домой», чтобы ввести приложение в фоновый режим, на этот раз мне нужно остановить запрос API, который уже выполняется. в настоящее время метод applicationDidEnterBackground вызывается с задержкой (после загрузки данных). В то же время приложение падает. как мы можем отменить соединение URL, когда приложение входит в фоновый режим.

Пожалуйста, помогите мне.

Заранее спасибо.

1 Ответ

0 голосов
/ 02 ноября 2011

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

Или, что еще лучше, объект NSThread предоставляет механизм, указывающий, что его следует отменить. Если вы переходите в фоновый режим, настраиваете свой отдельный поток на отмену (через [NSThread cancel]), а затем при любом обратном вызове API вы должны периодически проверять, возвращает ли [NSThread isCancelled] YES.

Вот ссылка на документацию Apple по [NSThread cancel].

http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSThread_Class/Reference/Reference.html#//apple_ref/occ/instm/NSThread/cancel

надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...