1つは、基盤となる実装です
1. AFNの基本的な実装は、OCベースのNSURLConnectionおよびNSURLSessionに基づいています。
2. ASIの基本的な実装は、純粋なC言語のCFNetworkフレームワークに基づいています。
3. NSURLConnectionとNSURLSessionはCFNetworkの上のカプセル化のレイヤーであるため、ASIの動作パフォーマンスはAFNの動作パフォーマンスよりも高くなります。
2.サーバーから返されたデータを処理する
1. ASIは、サーバーデータを処理する方法を直接提供せず、NSData / NSStringを直接返します。
2. AFNは、サーバーデータを処理するためのさまざまな方法を提供します
(1)JSON処理-NSDictionaryまたはNSArrayを直接返します
(2)XML処理-返されるデータはxmlタイプのデータであり、解析する必要があります
(3)その他の種類のデータ処理
3、リクエストプロセスを監視します
1. AFNは、要求プロセスを監視するために、成功と失敗の2つのブロックを提供します(成功と失敗のみを監視できます)
- 成功:リクエストが成功した後に呼び出されます
- 失敗:リクエストが失敗した後に呼び出されます
2. ASIは3セットのプログラムを提供し、それぞれがリクエストの完全なプロセスを監視できます。
(監視要求の開始、応答ヘッダー情報の受信、特定のデータの受信、受け入れの完了、要求の失敗)
- エージェントになり、契約を遵守し、契約にエージェントメソッドを実装します
- エージェントになり、契約に従わず、エージェントの方法をカスタマイズする
- ブロックを設定する
第四に、ファイルのダウンロードとアップロードの使いやすさ
1、AFN
ダウンロードの進行状況とアップロードの進行状況を監視するの
は簡単ではありません]ブレークポイントの再開を実現するのは簡単ではありません。
*通常、小さなファイルのダウンロードにのみ使用されます
2、ASI
ダウンロードとアップロードの実装が
非常に簡単ダウンロードとアップロードの進行状況を監視するのが非常に簡単
非常容易实现断点续传 下载大文件或小文件均可
3、实现下载上传推荐使用ASI
五、网络监控
1、AFN自己封装了网络监控类,易使用
2、ASI使用的是Reachability,因为使用CocoaPods下载ASI时,会同步下载Reachability,但Reachability作为网络监控使用较为复杂(相对于AFN的网络监控类来说)
3、推荐使用AFN做网络监控-AFNetworkReachabilityManager
六、ASI提供的其他实用功能
1、控制信号旁边的圈圈要不要在请求过程中转
2、可以轻松地设置请求之间的依赖:每一个请求都是一个NSOperation对象
3、可以统一管理所有请求(还专门提供了一个叫做ASINetworkQueue来管理所有的请求对象)
- 暂停/恢复/取消所有的请求
- 监听整个队列中所有请求的下载进度和上传进度