- 由于做的混合開發(fā),web頁面和原生做了深度交互珍特,所有的網(wǎng)絡(luò)請(qǐng)求都是通過原生發(fā)網(wǎng)絡(luò)請(qǐng)求的交易,請(qǐng)求的交易不走js自帶的網(wǎng)絡(luò)通道。這樣就得把服務(wù)端響應(yīng)的請(qǐng)求再塞給web,不管請(qǐng)求成功或則失敗的響應(yīng)都要傳過去盛龄,這樣web方便做下一步處理,因此就要獲取網(wǎng)絡(luò)請(qǐng)求的狀態(tài)芳誓,最近的新項(xiàng)目最低支持的iOS系統(tǒng)是iOS7.0余舶,所以我打算把網(wǎng)絡(luò)請(qǐng)求通訊庫換為最新的NSURLSession。發(fā)現(xiàn)之前獲取網(wǎng)絡(luò)請(qǐng)求的狀態(tài)碼不見了锹淌,后來各種查資料匿值,找到如下獲取, 在此記錄一下(包括了獲取相應(yīng)頭,相應(yīng)的狀態(tài)碼)赂摆。
- 由于NSURLSessionDataTask屬于NSHTTPURLResponse的子類挟憔,因此把task強(qiáng)轉(zhuǎn)為NSHTTPURLResponse,然后拿到response就可以拿到一切數(shù)據(jù) 烟号。
NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
NSInteger statusCode = response.statusCode;
NSDictionary *allHeaders = response.allHeaderFields;