Нет, NSOperationQueue
не будет работать, когда приложение перемещено в фоновый режим. Вам необходимо явно выполнить действие, используя метод beginBackgroundTaskWithExpirationHandler
.
Это описано в Техническом примечании TN2277 - Работа в сети и многозадачность
См. Также Руководство по программированию приложений для iOS , в частности раздел «Состояния приложений и многозадачность».
Кроме того, могу ли я порекомендовать вам вместо этого использовать библиотеку AFNetworking . Он обрабатывает многие из этих функций для вас. В частности, каждый класс является подклассом NSOperation
.
Более того, он уже имеет класс загрузчика изображений в AFImageRequestOperation . Так что это должно быть очень полезно для вас. AFImageRequestOperation
является подклассом AFURLConnectionOperation , поэтому у вас есть доступ к методу setShouldExecuteAsBackgroundTaskWithExpirationHandler
.
Конечно, все это относится к многозадачности, поэтому оно доступно только в iOS 4.0 и более поздних версиях.