iOS學習筆記7 NSURLSession

2022-03-29 20:42:27 字數 1509 閱讀 2068

在ios9.0之後,以前使用的nsurlconnection過期,蘋果推薦使用nsurlsession來替換nsurlconnection完成網路請求相關操作。

nsurlsession的使用非常簡單,先根據會話物件建立乙個請求task,然後執行該task即可。

nsurlsessiontask本身是乙個抽象類,在使用的時候,通常是根據具體的需求使用它的幾個子類

二、傳送get請求

使用nsurlsession傳送get請求的方法和nsurlconnection類似,整個過程如下:

1)確定請求路徑(一般由公司的後台開發人員以介面文件的方式提供),get請求引數直接跟在url後面

2)建立請求物件(預設包含了請求頭和請求方法【get】),此步驟可以省略

3)建立會話物件(nsurlsession)

4)根據會話物件建立請求任務(nsurlsessiondatatask)

5)執行task

6)當得到伺服器返回的響應後,解析資料(xml|json|http)

三、傳送post請求

使用nsurlsession傳送post請求的方法和nsurlconnection類似,整個過程如下:

1)確定請求路徑(一般由公司的後台開發人員以介面文件的方式提供)

2)建立可變的請求物件(因為需要修改),此步驟不可以省略

3)修改請求方法為post

4)設定請求體,把引數轉換為二進位制資料並設定請求體

5)建立會話物件(nsurlsession)

6)根據會話物件建立請求任務(nsurlsessiondatatask)

7)執行task

8)當得到伺服器返回的響應後,解析資料(xml|json|http)

nsurlsession**方法

接收到伺服器響應的時候呼叫該方法

-(void)urlsession:(nsurlsession *)session datatask:(nsurlsessiondatatask *)datatask didreceiveresponse:(nsurlresponse *)response completionhandler:(void (^)(nsurlsessionresponsedisposition))completionhandler

接收到伺服器返回資料的時候會呼叫該方法,如果資料較大那麼該方法可能會呼叫多次

-(void)urlsession:(nsurlsession *)session datatask:(nsurlsessiondatatask *)datatask didreceivedata:(nsdata *)data

當請求完成(成功|失敗)的時候會呼叫該方法,如果請求失敗,則error有值

-(void)urlsession:(nsurlsession *)session task:(nsurlsessiontask *)task didcompletewitherror:(nserror *)error

iOS7 學習筆記 UIPickerView

uipickerview的功能是讓使用者從一系列待選的值中選取乙個他們取需要的值,iphone鬧鐘的計時器就使用了uipickerview來選擇時間。uipickerview的用法很簡單,即初始化 選擇資料來源 選擇委託物件 顯示。returns the number of columns to d...

IOS學習筆記

uiview beginanimations view flip context nil 設定動畫塊 uiview setanimationduration 1.25 動畫時間 uiview setanimationcurve uiviewanimationcurveeaseinout 動畫曲線 u...

ios學習筆記

actionsheet 標頭檔案裡加協議。ibaction buttonpressed id sender void actionsheet uiactionsheet actionsheet diddismisswithbuttonindex nsinteger buttonindex 從plis...