我创建了一个简单的测试应用程序,以了解如何使用NSURLSession
。这个应用程序必须从web服务下载图像,并将它们呈现为UITableView
。 我已经写了应用程序的第一部分,它从Web服务读取图像URL列表,现在我想显示这个列表。使用NSURLSession下载大量图像
我的疑问是:
因为图像列表中可能是一个很长的名单,是它确定为每个图像的NSURLSessionDownloadTask
? 我想在cellForRowAtIndexPath
函数中创建会话并将NSURLSessions存储在NSDictionary中,使用该单元格的IndexPath
作为关键字(并且可能依靠NSURLCache
避免多次下载相同的图像)。
其他解决方案:
我可以看到三个解决方案:
使用
GCD
与dispatch_async
子类的NSOperation和基本存储的
NSOperation
因为我需要下载任何图像。使用第三方库如
AFNetwork
...但由于它是一个学习目的的应用程序,我宁愿完全使用我的代码 。
如果多个NSURLSession不是一个好的解决方案,我会选择其中一个选项。
您对这种方法有什么看法?
就我而言,我使用过GDC,对我来说这也是一个不错的选择。 –
考虑向后兼容性。 'NSURLSession'只存在于iOS7 +中。 – Eonil