iOS AFN 3 0版本前後區別 01

2021-08-03 22:21:33 字數 3057 閱讀 4494

//聯絡人:石虎暱稱:嗡嘛呢叭咪哄

一、afn 版本的概念

在afnetworking 3.0之前,底層是通過封裝nsurlconnection來實現的。 

在afnetworking 3.0之後,也就是在ios 9.0 之後,nsurlconnection被棄用,蘋果推薦使用nsurlsession來管理網路請求,所以afnetworking 3.0之後,底層是通過封裝nsurlsession來實現的。

從afnetworking 3.0中之後,下面三個方法被棄用了。

依次被下面三個類代替了,同時請求方法也跟著改變了,所以afnetworking 3.0以後發生了很大的變化。

二、get請求

//建立請求管理者

//內容型別

manager.responseserializer

//get請求

[manager get:url parameters:nil progress:^(nsprogress * _nonnull downloadprogress) success:^(nsurlsessiondatatask * _nonnull task, id _nullable responseobject) failure:^(nsurlsessiondatatask * _nullable task, nserror * _nonnull error) ];

三、post 請求

//建立請求管理者

//內容型別

manager.responseserializer

nsmutabledictionary *parameters = @.mutablecopy;

//post請求

[manager post:url parameters:parameters progress:^(nsprogress * _nonnull uploadprogress) success:^(nsurlsessiondatatask * _nonnull task, id _nullable responseobject) failure:^(nsurlsessiondatatask * _nullable task, nserror * _nonnull error) ];

- (void)download destination:^nsurl * _nonnull(nsurl * _nonnull targetpath, nsurlresponse * _nonnull response)  completionhandler:^(nsurlresponse * _nonnull response, nsurl * _nullable filepath, nserror * _nullable error) ];

//開始啟動任務

[task resume];

}

五、上傳

/**

* afn 3.0 上傳

* 有兩種方式

* upload1 和 upload2

*///第一種方法是通過工程中的檔案進行上傳

- (void)upload1;

nsstring *urlstring = @"22222";

[manager post:urlstring parameters:dict constructingbodywithblock:^(id

_nonnull formdata) progress:^(nsprogress * _nonnull uploadprogress) success:^(nsurlsessiondatatask * _nonnull task, id _nullable responseobject) failure:^(nsurlsessiondatatask * _nullable task, nserror * _nonnull error) ];

}//第二種是通過url來獲取路徑,進入沙盒或者系統相簿等等

- (void)uploda2;

nsstring *urlstring = @"22222";

[manager post:urlstring parameters:dict constructingbodywithblock:^(id

_nonnull formdata) progress:^(nsprogress * _nonnull uploadprogress) success:^(nsurlsessiondatatask * _nonnull task, id _nullable responseobject) failure:^(nsurlsessiondatatask * _nullable task, nserror * _nonnull error) ];

}監測當前網路狀態(網路監聽)

- (void)afnetworkstatus;

*/[manager setreachabilitystatuschangeblock:^(afnetworkreachabilitystatus status)

}] ;

}謝謝!!!

Scratch 3 0 版本比較

新年伊始mit 就正式 發布了scratch最新3.0版 以 html5.0 為基礎的版本 本文就來帶看看3.0版有哪些更新的地方。下圖是進入後第乙個畫面,跟scratch 2.0 很像,熟悉的使用者應該很容易入手 網頁版跟離線版程式主畫面相同 選擇語言 開關加速功能 離線版教程 範例程式 簡單寫個...

Vue cli3 0版本安裝使用

在這裡說明一下,vue腳手架版本,和vue版本是兩個東西 怎麼看你的vue的腳手架版本呢 cmd 命令列 vue v注意v為大寫 vue cll 官網 安裝 npm install g vue cli vue v 檢測一下版本 1,安裝 vue create 專案名 前面的那些無需打理 走個預設的 ...

關於Python2 0版本與3 0版本中類的區別

在2.0中類的定義是可以通過定義函式的形class person def init self,name,age,gender print 進入person的初始化 self.name name self.age age self.gender gender print 離開person的初始化 de...