我想在我的应用中使用NSOperationQueue并开始从服务器下载图像。 如果我的应用程序进入后台或被终止,NSOperationQueue是否仍会继续下载它们?
答案 0 :(得分:0)
不,当应用移动到后台时,NSOperationQueue
将无法继续工作。您需要使用方法beginBackgroundTaskWithExpirationHandler
明确地执行此操作。
Technical Note TN2277 - Networking and Multitasking
中介绍了这一点另请参阅iOS App Programming Guide,特别是关于应用程序状态和多任务处理的部分。
顺便说一句,我是否可以建议您使用AFNetworking库。它为您处理了很多这方面的功能。具体来说,每个类都是NSOperation
的子类。
此外,它已在AFImageRequestOperation中有一个图片下载程序类。所以这应该对你非常有用。 AFImageRequestOperation
是AFURLConnectionOperation的子类,因此您可以访问方法setShouldExecuteAsBackgroundTaskWithExpirationHandler
。
当然,所有这些都与多任务有关,因此它仅适用于iOS 4.0及更高版本。