NSURLSession的基本使用

個人理解 有誤的地方 歡迎小伙伴能給指出

1. 使用步驟
使用NSURLSession創(chuàng)建task,然后執(zhí)行task

  1. 關(guān)于task
    a.NSURLSessionTask是一個抽象類,本身不能使用,只能使用它的子類
    b.NSURLSessionDataTask\NSURLSessionUploadTask\NSURLSessionDownloadTask

  2. 發(fā)送get請求

  • 創(chuàng)建NSURLSession對象(可以獲取單例對象)
    NSURLSession *session = [NSURLSession sharedSession];

  • 根據(jù)NSURLSession對象創(chuàng)建一個Task
    NSURL *url = [NSURL URLWithSting:@"路徑"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    方法參數(shù)說明
    
  • 注意:該block是在子線程中調(diào)用的,如果拿到數(shù)據(jù)之后要做一些刷新UI操作,那么需要回到主線程刷新
    第一個參數(shù):需要發(fā)送的請求對象
    block:當(dāng)請求結(jié)束拿到服務(wù)器響應(yīng)的數(shù)據(jù)時調(diào)用block
    block-NSData:該請求的響應(yīng)體
    block-NSURLResponse:存放本次請求的響應(yīng)信息,響應(yīng)頭,真是類型為NSHTTPURLResponse
    block-nsercroe:請求錯誤信息
    NSURLSessionDataTask * dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * __nullable data, NSURLResponse * __nullable response, NSError * __nullable error) {

    拿到響應(yīng)頭信息
    NSHTTPURLResponse *res =(NSHTTPURLResponse *)response;

  • 解析拿到的響應(yīng)數(shù)據(jù)
    NSLog(@"%@\n%@,[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding],res.allHeaderFields);
    }];
    執(zhí)行task
    注意:剛創(chuàng)建出來的task默認是掛起狀態(tài)的 需要調(diào)用該方法啟動任務(wù)
    [dataTask resume];

  1. 發(fā)送get請求的第二種方式
    注意;該方法內(nèi)部默然會把URL對象包裝成一個NSURLReques對象(默認是GET請求)
    方法參數(shù)說明
    第一個參數(shù): 發(fā)送請求URL地址
    block:當(dāng)請求結(jié)束拿到服務(wù)器響應(yīng)的數(shù)據(jù)時調(diào)用block
    block-NSData:該請求的響應(yīng)題
    block-NSURLResponse:存放本次請求的響應(yīng)信息.響應(yīng)頭,真實類型為NSHTTPURLResponse
    block-NSErroe:請求錯誤信息
    - (nullable NSURLSessionDataTask *)dataTaskWithURL:(NSURL *)url completionHandler:(void (^)(NSData * __nullable data, NSURLResponse * __nullable response, NSError * __nullable error))completionHandler;

  2. 發(fā)送POST請求
    創(chuàng)建NSURLSession對象(可以獲取單例對象)
    NSURLSession *session = [NSURLSession sharedSession];
    根據(jù)NSURLSession對象創(chuàng)建一個Task
    NSURL *url = [NSURL URLWithString:@"URL路徑 '];
    創(chuàng)建一個請求對象,并設(shè)置請求方法為POST 把參數(shù)放在請求體重傳遞
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    request.HTTPMethod = @"POST";
    request.HTTPBody = [@"參數(shù)" dataUsingEncoding:NSUTF8StringEncoding];

     NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * __nullable data, NSURLResponse * __nullable response, NSError * __nullable error) {
    

拿到響應(yīng)頭信息
NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
解析拿到響應(yīng)數(shù)據(jù)
NSLog(@"%@\n%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding],res.allHeaderFields);
}];

執(zhí)行Task
注意剛創(chuàng)建出來的Task默認是掛起狀態(tài) 需要調(diào)用該方法來啟動
[dataTask resume];


純手動 有誤的地方希望大家能給指出 謝謝
如果對您有幫助 希望能給個關(guān)注和喜歡~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末较木,一起剝皮案震驚了整個濱河市推正,隨后出現(xiàn)的幾起案子根竿,更是在濱河造成了極大的恐慌虐先,老刑警劉巖蒜焊,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牧抽,死亡現(xiàn)場離奇詭異鞠评,居然都是意外死亡非驮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門担扑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恰响,“玉大人,你說我怎么就攤上這事涌献∨呋拢” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長枢劝。 經(jīng)常有香客問我井联,道長,這世上最難降的妖魔是什么您旁? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任烙常,我火速辦了婚禮,結(jié)果婚禮上被冒,老公的妹妹穿的比我還像新娘军掂。我一直安慰自己,他們只是感情好昨悼,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布蝗锥。 她就那樣靜靜地躺著,像睡著了一般率触。 火紅的嫁衣襯著肌膚如雪终议。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天葱蝗,我揣著相機與錄音穴张,去河邊找鬼。 笑死两曼,一個胖子當(dāng)著我的面吹牛皂甘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悼凑,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼偿枕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了户辫?” 一聲冷哼從身側(cè)響起渐夸,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渔欢,沒想到半個月后墓塌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡奥额,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年苫幢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垫挨。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡态坦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出棒拂,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布帚屉,位于F島的核電站谜诫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏攻旦。R本人自食惡果不足惜喻旷,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望牢屋。 院中可真熱鬧且预,春花似錦、人聲如沸烙无。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽截酷。三九已至涮拗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迂苛,已是汗流浹背三热。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留三幻,地道東北人就漾。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像念搬,于是被迫代替她去往敵國和親抑堡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容