網(wǎng)絡(luò)小理解

網(wǎng)絡(luò)理解##

1.因為網(wǎng)絡(luò)是需要考慮超時時長的,是耗時操作,所有需要用線程處理.

  1. NSURL *url = [NSURL urlWithString:@"https://baidu.com"];//通過一個標(biāo)識符標(biāo)識網(wǎng)絡(luò)
    NSURLRequest *request = [NSURLRequest requestWithURL:url];//創(chuàng)建一個網(wǎng)絡(luò)請求.

    //網(wǎng)絡(luò)請求數(shù)據(jù)一般用異步請求,加入主隊列,在主線程執(zhí)行.主線程一般用于UI更新.
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue]completionHandler:^(NSURLResponse *_Nullable response,NSData *_Nullable data, NSError *_Nullable connectionError) {
    //判斷是否連接錯誤,最好打印一下,返回錯誤原因.
    if(connectionError){
    NSLog(@"連接錯誤%@",connectionError);
    return;
    }
    //創(chuàng)建服務(wù)器響應(yīng)
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
    //判斷狀態(tài)碼,狀態(tài)碼正確,才可以接受數(shù)據(jù)實體,因為服務(wù)器響應(yīng)會返回狀態(tài)碼和數(shù)據(jù)實體.
    if(httpResponse.statuesCode == 200||httpResponse.statuesCode == 304) {
    //JSON是一種特殊的字符串.可能是字典,可能是數(shù)組
    //解析數(shù)據(jù)JSON形式的字符串轉(zhuǎn)換成OC對象.
    //這里用蘋果自帶的JSON解析,高效.
    NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
    NSMutableArray *mArray = [NSMutableArray arrayWithCapacity:10]; //capacity:容納量.
    //反向遍歷--降序遍歷
    [array enumerateObjectsUsingBlock:^(id _Nonnull obj,NSUInteger idx,BOOL *_Nonnull stop){
    QYNews *news = [QYNews newsWithDict:obj];
    [mArray addObject:news];
    }];

<font color=green>//Block遍歷優(yōu)點:
1)遍歷可以從block中直接獲取需要的所有信息,包括下標(biāo),值等.特別是字典,不需要多余代碼就可以獲得key,value的值.
2)能夠直接修改block中key或者obj的類型為真實類型,可以省去類型轉(zhuǎn)換的工作.
3)可以通過NSEnumerationConcurrent枚舉值開啟并發(fā)迭代功能.</font>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中。。。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,494評論 1 23
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評論 19 139
  • 1.項目經(jīng)驗 2.基礎(chǔ)問題 3.指南認(rèn)識 4.解決思路 ios開發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    扶光啟玄閱讀 5,214評論 0 13
  • 大腦
    1人的烏托邦閱讀 209評論 0 0
  • 有時候真的覺得,快要被這現(xiàn)實逼死了,想做一件自己喜歡的事情,都這么難我已經(jīng)夠拼命了,夠努力了,就因為沒有經(jīng)歷過累...
    行走世間全是妖怪_閱讀 211評論 0 0

友情鏈接更多精彩內(nèi)容