开发者

Why should I prefer ASIHTTPRequest over NSURLConnection for downloading files from the web?

开发者 https://www.devze.com 2023-03-08 10:42 出处:网络
I\'ve seen a couple of times people using ASIHTTPRequest to download files. Now I开发者_Go百科 wonder why? What are the core benefits over NSURLConnection?There are several reasons. In my mind these a

I've seen a couple of times people using ASIHTTPRequest to download files. Now I开发者_Go百科 wonder why? What are the core benefits over NSURLConnection?


There are several reasons. In my mind these are the major ones:

  1. ASIHTTPRequest allows to specify a delegate for each request (vs. one delegate for a whole NSURLConnection); this is useful because each request has in principle a different processing once you get the data you were waiting for;

  2. ASIHTTPRequest supports a caching mechanism that make very easy to make your app working when offline (and showing the cached data); no such mechanism in NSURLRequest;

  3. If you search stackoverflow, you will find many hints at a very strange memory leak that NSURLConnection/NSURLRequest provoke; this is not experienced with ASIHTTRequest;

  4. ASIHTTRequest offers a better implementation of Reachability, which is absolutely necessary; the Apple provided one is said to be buggy.

Hope this helps.


ASIHTTPRequest is just significantly easier to use. You don't have to concatenate data blocks manually, POST requests are easy to construct, blocks are supported, ASIHTTPRequest is a subclass of NSOperation so you can easily queue up your requests, etc.


ASIHTTPRequest's strength points are IMHO:

  • easy to use
  • file posting
  • built-in authentication
  • built-in zlib compression
  • queing


IMHO it comes down to ease of use for the programmer. It's very easy to work with and is incredibly well documented. You can very easily use queues and manage their status via delegation.

Outside the scope of files it is must easier to handle response delegation using ASI compared to the built in NSURL classes.

0

精彩评论

暂无评论...
验证码 换一张
取 消