web-dev-qa-db-ja.com

ASIHTTPRequestとAFNetworkingとNSUrlRequest

以前はASIHTTPRequestを使用していましたが、現在はNSURLRequestがあります。今すぐNSURLRequestを使用する必要がありますか?欠点はありますか?

これを今読んでいる人のために:回答で述べたように、私はAFNetworkingを使用することになりました

https://github.com/AFNetworking/AFNetworking

おかげで、

29
William Falcon

NSURLConnectionおよびNSURLRequestは、接続を管理するために提供されているCocoaクラスです。 iOS 7では、Appleが追加されましたNSURLSession

しかし、あなたは AFNetworking がネットワーク要求(特に複雑なHTTP要求)をさらに簡素化するフレームワークであることがわかると思います。何らかの理由でサードパーティのフレームワークを使用したくない場合は、NSURLConnectionまたはNSURLSessionを直接使用できます。もう少しコーディングが必要です。

良いASIHTTPRequest代替案を探している場合は、AFNetworkingが最適です。

NSURLConnectionおよびNSURLSessionの詳細については、 RL Loading Systemプログラミングガイド を参照してください。

35
Rob

NSURLRequestはiOS2.0から存在しているため( doc を参照)、正確には新しいものではありません。 ASIHTTPRequestは廃止されました 最終更新 は2011年5月15日でしたので、使用しないでください。 AFNetworkingはiOSおよびMac OS X向けの楽しいネットワーキングライブラリです。 [-]で説明されています self を使用すると、ライブが簡単になります。私の場合、必要なネットワークに最初に含めるフレームワークです。プロジェクト。

どちらを使用する必要がありますか?これは要件に依存すると思います。NSURLRequestNSURLConnectionを使用すると、すべてを実行できます。実際、AFNetworking NSURLConnectionの上に構築されています。しかし、私が以前あなたに言った方法で、AFNetworkingは私の賛成票を持っています。

iOS 7の投稿を編集

IOS7をターゲットにしている場合は、NSURLSessionを調べて、 official documentation を確認してください。これは tutorial です。

Swiftの編集

Swiftで行われた実装について Alamofire プロジェクトをご覧ください。このプロジェクトは、mattt(AFNetworkingの主な作者)によっても作成されています。

20
tkanzakic

Asihttprequestは、現在開発をサポートしていない古いライブラリです。使用しないでください。

nSURLRequestは、使用するデフォルトのiOS(cocoa)クラスです。接続応答を処理するためにたくさんのコードを書く必要があるので、非常に少ない使用法にそれをお勧めします。その上にすべてのhttpライブラリを構築します。

AFNetwokingは現在、http、imhoの標準です。コールバックにブロックを使用し、さまざまなタイプのデータjson、xmlなどをサポートしています。よく設計されており、簡単にサブクラス化できます。最高です。

7
Yurii Kobets

ネイティブ(NSURLSession)とAFNetworkingまたはその他のライブラリ

NSURLSessionを使用することをお勧めします。これは、アプリの終了時に多くのカスタマイズができるためです。最近プロジェクトに取り組んでいましたが、アプリのどこかmultipart form dataを使用する必要があります。リクエスト本文をバックエンドの人に提供する必要があります。私はAfNetworkingロガーを使用して自分の体を印刷しましたが、役に立ちませんでした。だから私はココアネイティブライブラリに移動し、私の解決策を得ました。

したがって、iOSネイティブネットワーキングを使用することをお勧めします。これにより、多くのカスタマイズが可能になりますが、必要なコードが少ない場合は、サードパーティのライブラリを使用できます。