一.管理對(duì)象
1.AFHTTPRequestOperationManager 是對(duì)NSURLConnection的封裝
2.AFHTTPSessionManager 是對(duì) NSURLSession的封裝
二.AFHTTPRequestOperationManager具體使用
1.創(chuàng)建管理者
2.封裝請(qǐng)求參數(shù)
3.發(fā)送請(qǐng)求(POST,GET)
三.對(duì)服務(wù)器返回?cái)?shù)據(jù)的解析
1.AFN可以自動(dòng)對(duì)服務(wù)器返回的數(shù)據(jù)當(dāng)做JSON解析
2.解析方式
(1)默認(rèn),當(dāng)做json解析 :AFJSONResponseSerializer 和 AFHTTPResponseSerializer
(2)當(dāng)做XML解析 : AFXMLParserResponseSerializer 和 AFHTTPResponseSerializer
(3)直接返回data : AFHTTPResponseSerializer
四.AFN和ASI的區(qū)別
1.底層
(1) AFN底層是基于OC的 NSURLConnection NSURLSession
(2)ASI底層是基于純C語(yǔ)言CFNetwork框架
(3)ASI的性能高于AFN
2.對(duì)服務(wù)器返回的數(shù)據(jù)處理
(1)ASI沒(méi)有提供處理數(shù)據(jù)的方式,直接返回data/string
(2)AFN提供多種處理數(shù)據(jù)的方式
3.監(jiān)聽(tīng)請(qǐng)求的過(guò)程
(1)AFN提供了兩個(gè)block來(lái)監(jiān)聽(tīng)請(qǐng)求的過(guò)程(只能監(jiān)聽(tīng)成功和失敗)
(2)ASI提供了三種方式,每一種方式都能監(jiān)聽(tīng)到請(qǐng)求的完整過(guò)程(監(jiān)聽(tīng)請(qǐng)求開(kāi)始,接收到響應(yīng)頭信息,接收到具體數(shù)據(jù),接收完畢,請(qǐng)求失敗)
成為代理,遵守協(xié)議,實(shí)現(xiàn)協(xié)議方法
成為代理,不遵守協(xié)議,自定義代理方法
block
4.文件下載和文件上傳
AFN:
(1)不容易監(jiān)聽(tīng)下載和上傳進(jìn)度
(2)不容易實(shí)現(xiàn)斷點(diǎn)續(xù)傳
(3)一般用來(lái)下載不大的文件
ASI:
(1)很容易實(shí)現(xiàn)下載和上傳
(2)很容易監(jiān)聽(tīng)下載進(jìn)度和上傳進(jìn)度
(3)很容易實(shí)現(xiàn)斷點(diǎn)續(xù)傳
(4)下載或大或小的文件都可以
5.ASI更多的功能
(1)控制的加載圈圈要不要在請(qǐng)求中旋轉(zhuǎn)
(2)輕松設(shè)置請(qǐng)求之間的依賴(lài)
(3)可以統(tǒng)一管理所有請(qǐng)求(ASINetworkQueue管理所有請(qǐng)求)
(4)暫吞窠В或者恢復(fù)請(qǐng)求