【发布时间】:2011-05-26 18:15:17
【问题描述】:
我见过几次有人使用 ASIHTTPRequest 下载文件。现在我想知道为什么? NSURLConnection 的核心优势是什么?
【问题讨论】:
-
这个问题一年后,应该注意现在你应该选择 AFNetworking 而不是 ASIHTTPRequest。
标签: iphone ios ipad nsurlconnection asihttprequest
我见过几次有人使用 ASIHTTPRequest 下载文件。现在我想知道为什么? NSURLConnection 的核心优势是什么?
【问题讨论】:
标签: iphone ios ipad nsurlconnection asihttprequest
有几个原因。在我看来,这些是主要的:
ASIHTTPRequest 允许为每个请求指定一个委托(相对于整个NSURLConnection 一个委托);这很有用,因为原则上每个请求都会在您获得等待的数据后进行不同的处理;
ASIHTTPRequest 支持缓存机制,使您的应用在离线时非常容易工作(并显示缓存的数据); NSURLRequest 中没有这种机制;
如果你搜索stackoverflow,你会发现很多strange memory leak 的提示是NSURLConnection/NSURLRequest 引起的; ASIHTTRequest 没有这种情况;
ASIHTTRequest 提供了更好的可达性实现,这是绝对必要的;苹果提供的是said to be buggy。
希望这会有所帮助。
【讨论】:
ASIHTTPRequest 更容易使用。您不必手动连接数据块,POST 请求易于构建,支持块,ASIHTTPRequest 是NSOperation 的子类,因此您可以轻松排队您的请求等。
【讨论】:
ASIHTTPRequest 的强项是恕我直言:
【讨论】:
恕我直言,这归结为程序员的易用性。它非常易于使用,并且有非常好的文档记录。您可以非常轻松地使用队列并通过委托管理其状态。
在文件范围之外,与内置的 NSURL 类相比,使用 ASI 处理响应委托必须更容易。
【讨论】: