设计下载的异步程序&显示图像

时间:2011-10-29 00:11:21

标签: objective-c ios cocoa-touch asynchronous nsurlconnection

我有一个包含图片网址的JSON Feed。我正在使用NSURLConnection下载JSON提要提取URL。我想异步下载所有图像。我将UIImage子类化,并向该类发送了一个URL,它以异步方式一次下载一个图像。

首先,这是一个很好的方法吗?其次,我想一次显示四张图片。我不应该一起下载每一组四个而不是一个一个地下载吗?

我的第二个问题是我有两个NSURLConnection。那可能很糟糕。我是否应该使用相同的NSURLConnection下载JSON Feed并同时获取图片?

我试图一次显示四个图像,下一个按钮显示下一行的下四个图像。

1 个答案:

答案 0 :(得分:0)

我不确定UIImage是否会被子类化。如果你需要良好的设计实践,你应该看看TopPaid 来自Apple的示例代码,因为它显示了如何正确下载Feed然后异步下载图像。仔细查看此项目中的IconDownloader类,该类是处理图像下载的类,并在完成后通知其委托。

据我所知,一次有多个NSURLConnections没有问题。如果连接数变得非常大,您可能会遇到麻烦,因为这可能会使iPhone上允许的打开文件描述符的数量饱和,或者更可能产生内存警告。在您的情况下,如果您只有2个连接,则没有任何问题。