Почему я должен предпочесть ASIHTTPRequest над NSURLConnection для загрузки файлов из Интернета? - PullRequest
16 голосов
/ 26 мая 2011

Я пару раз видел людей, использующих ASIHTTPRequest для загрузки файлов.Теперь интересно почему?Каковы основные преимущества по сравнению с NSURLConnection?

Ответы [ 4 ]

24 голосов
/ 26 мая 2011

Есть несколько причин. На мой взгляд, это основные из них:

  1. ASIHTTPRequest позволяет указать делегата для каждого запроса (против одного делегата для всего NSURLConnection); это полезно, потому что каждый запрос в принципе имеет разную обработку, когда вы получаете данные, которые вы ждали;

  2. ASIHTTPRequest поддерживает механизм кэширования, который позволяет очень легко заставить ваше приложение работать в автономном режиме (и отображать кэшированные данные); в NSURLRequest такого механизма нет;

  3. Если вы будете искать переполнение стека, вы найдете много подсказок об очень странной утечке памяти , которую NSURLConnection/NSURLRequest провоцирует; с ASIHTTRequest;

  4. ASIHTTRequest предлагает лучшую реализацию Reachability, что абсолютно необходимо; Apple при условии, что считается глючной .

Надеюсь, это поможет.

4 голосов
/ 26 мая 2011

Сильные стороны ASIHTTPRequest: IMHO:

  • простота использования
  • отправка файлов
  • встроенная аутентификация
  • встроенная компрессия zlib
  • в очереди
4 голосов
/ 26 мая 2011

ASIHTTPRequest просто значительно проще в использовании.Вам не нужно объединять блоки данных вручную, POST-запросы легко создавать, блоки поддерживаются, ASIHTTPRequest является подклассом NSOperation, поэтому вы можете легко ставить в очередь свои запросы и т. Д.

3 голосов
/ 26 мая 2011

ИМХО это сводится к простоте использования для программиста.С ним очень легко работать, и он невероятно хорошо задокументирован.Вы можете очень легко использовать очереди и управлять их состоянием с помощью делегирования.

Вне области действия файлов проще обрабатывать делегирование ответов с использованием ASI по сравнению со встроенными классами NSURL.

...