Подтвердить что ты не робот

ASIHTTPRequest против AFNetworking vs NSUrlRequest

В прошлом я использовал ASIHTTPRequest, но теперь есть NSURLRequest. Должны ли мы использовать NSURLRequest сейчас? Есть ли недостатки?

Для людей, читающих это сейчас: я закончил использование AFNetworking, как указано в ответах

https://github.com/AFNetworking/AFNetworking

Спасибо,

4b9b3361

Ответ 1

NSURLConnection и NSURLRequest - это предоставленные классы Cocoa для управления соединениями. В iOS 7 Apple добавила NSURLSession.

Но я думаю, вы найдете AFNetworking в качестве рамки, которая еще больше упростит сетевые запросы (особенно сложные HTTP-запросы). Если по какой-либо причине вы не хотите использовать сторонние фреймворки, вы можете напрямую использовать NSURLConnection и/или NSURLSession. Это просто требует немного больше кодирования.

Если вы ищете хорошую альтернативу ASIHTTPRequest, AFNetworking - отличный кандидат.

Информацию о NSURLConnection и NSURLSession см. в Руководстве по программированию URL-адреса URL.

Ответ 2

NSURLRequest существует с iOS2.0 (см. doc), поэтому он не совсем новый. ASIHTTPRequest было прекращено, последнее обновление было 15 мая 2011 года, поэтому вы не должны его использовать. AFNetworking - восхитительная сетевая библиотека для iOS и Mac OS X, описанная ими , и действительно делает вашу жизнь проще, в моем случае это первая структура, которую я включаю в моей сети нужны проекты.

Какой из них вы должны использовать? Я думаю, это зависит от ваших требований, а NSURLRequest и NSURLConnection вы можете делать все, фактически AFNetworking мы построили на вершине NSURLConnection. Но как я вам рассказываю раньше, AFNetworking имеет мое преимущество.

EDIT post iOS7

Если вы ориентируетесь на iOS7, вы должны взглянуть на NSURLSession, проверьте официальную документацию , и этот tutorial.

EDIT для Swift

Взгляните на проект Alamofire для реализации, выполненной в Swift, он также создан mattt (основным автором AFNetworking).

Ответ 3

Asihttprequest - это устаревшая библиотека, которая сейчас не поддерживается для разработки. Не используйте его.

NSURLRequest используется по умолчанию для класса iOS (cocoa). Я рекомендую его для очень небольшого использования, потому что вам нужно будет написать много кода для обработки ответов на соединение. Кроме того, они строят все http-библиотеки.

Теперь AFNetwoking является стандартным для http, imho. Он использует блоки для обратных вызовов, поддерживает разные типы данных json, xml и т.д., Он хорошо разработан и может быть легко подклассифицирован. это лучше всего.

Ответ 4

Родной (NSURLSession) против AFNetworking или любой другой библиотеки.

Я бы порекомендовал вам использовать NSURLSession, потому что он дает вам много настроек в конце приложения. Недавно я работал над проектом, мне нужно использовать данные о нескольких частях, где в приложении. Я должен предоставить тело запроса бэкэнду, я использовал регистратор AfNetworking для печати своего тела, но это не помогло мне. поэтому я перешел в родную библиотеку cocoa и получил свое решение.

поэтому я предлагаю вам использовать родную сеть iOS, потому что она дает вам много настроек, но если вам понадобится меньше кода, вы можете использовать любую стороннюю библиотеку.