Я видел пару раз людей, использующих ASIHTTPRequest для загрузки файлов. Теперь мне интересно, почему? Каковы основные преимущества NSURLConnection?
Почему я должен использовать ASIHTTPRequest для NSURLConnection для загрузки файлов из Интернета?
Ответ 1
Есть несколько причин. На мой взгляд, это основные из них:
-
ASIHTTPRequest
позволяет указать делегат для каждого запроса (против одного делегата для целогоNSURLConnection
); это полезно, потому что каждый запрос имеет в принципе другую обработку после получения ожидаемых данных; -
ASIHTTPRequest
поддерживает механизм кэширования, который очень упрощает работу вашего приложения в автономном режиме (и показывает кэшированные данные); нет такого механизма в NSURLRequest; -
Если вы будете искать stackoverflow, вы найдете много подсказок при очень странной утечке памяти, которые
NSURLConnection/NSURLRequest
провоцируют; это не связано сASIHTTRequest
; -
ASIHTTRequest
предлагает более совершенную реализацию Reachability, что абсолютно необходимо; Apple предоставила один сказал, что это ошибка.
Надеюсь, что это поможет.
Ответ 2
ASIHTTPRequest
просто значительно проще в использовании. Вам не нужно конкатенировать блоки данных вручную, запросы POST легко создавать, блоки поддерживаются, ASIHTTPRequest
является подклассом NSOperation
, поэтому вы можете легко поставить очередь своих запросов и т.д.
Ответ 3
Точки прочности ASIHTTPRequest являются ИМХО:
- простой в использовании
- публикация файла
- встроенная аутентификация
- встроенное сжатие zlib
- создание очередей
Ответ 4
ИМХО это сводится к простоте использования для программиста. Он очень прост в работе и невероятно хорошо документирован. Вы можете очень легко использовать очереди и управлять своим статусом с помощью делегирования.
За пределами объема файлов необходимо упростить обработку ответа с использованием ASI по сравнению со встроенными классами NSURL.