ios - nsoperationqueue - загрузка изображений с сервера - PullRequest
0 голосов
/ 29 декабря 2011

Я хочу использовать NSOperationQueue в своем приложении и начать загрузку изображений с сервера. Если мое приложение перейдет в фоновый режим или будет закрыто, продолжит ли NSOperationQueue загружать их?

1 Ответ

0 голосов
/ 03 января 2013

Нет, NSOperationQueue не будет работать, когда приложение перемещено в фоновый режим. Вам необходимо явно выполнить действие, используя метод beginBackgroundTaskWithExpirationHandler.

Это описано в Техническом примечании TN2277 - Работа в сети и многозадачность

См. Также Руководство по программированию приложений для iOS , в частности раздел «Состояния приложений и многозадачность».

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

Более того, он уже имеет класс загрузчика изображений в AFImageRequestOperation . Так что это должно быть очень полезно для вас. AFImageRequestOperation является подклассом AFURLConnectionOperation , поэтому у вас есть доступ к методу setShouldExecuteAsBackgroundTaskWithExpirationHandler.

Конечно, все это относится к многозадачности, поэтому оно доступно только в iOS 4.0 и более поздних версиях.

...