IOS 網絡淺析 (二 網絡異步請求)

 學習網絡,不管是C/S仍是B/S首要的固然是向服務器發送請求,並獲得響應,麼有請求沒有響應,那就不叫作網絡了。ios

這邊文章向你們介紹境界一下網路異步請求。緩存

*你們不要以爲我寫的知識點太零散,我只是想給你們一個良好的,乾淨的學習環境,一次行講解太多知識容易混亂。*服務器

閒話少說,我會在代碼中詳細講解。網絡

上新鮮的代碼了。異步

 

//
//  ViewController.m
//  CX-網路異步請求
//
//  Created by ma c on 16/3/17.
//  Copyright © 2016年 xubaoaichiyu. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //因爲網絡太慢,在這裏就用本地的服務器了。
    
    NSString * urlString = [NSString stringWithFormat:@"http://localhost/tupian.jpg"];
    
    //建立URL統一資源標識符
    
    NSURL * url = [NSURL URLWithString:urlString];
    
    //建立網絡請求
    
    /*
     cachePolicy 緩存策略
     
     NSURLRequestUseProtocolCachePolicy = 0, //自動緩存策略
     
     NSURLRequestReloadIgnoringLocalCacheData = 1, //每次都請求網絡,不管本地是否存在緩存
     
     NSURLRequestReturnCacheDataElseLoad = 2,//若是有緩存返回緩存,沒有就加載網絡
     
     NSURLRequestReturnCacheDataDontLoad = 3,//若是有緩存返回緩存,沒有也不加載網絡
     
     timeoutInterval 請求超時 默認超時時間是60 通常設置 10 - 20s
     
     */
    
    //    這是最基本的方法,記住就好,重點在下面哦。
    //    NSURLRequest * request = [NSURLRequest requestWithURL:url];
    
    
    NSURLRequest * request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    
    //創建異步鏈接*須要ios8及如下*
    
    //sendAsynchronousRequest 創建異步網絡鏈接
    
    //queue  能夠傳主隊列,或全局隊列
    
    //[NSOperationQueue mainQueue]   調到主隊列直接更新
    
    //[[NSOperationQueue alloc] init]  不須要調回主線程更新UI
    
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
        
        //reponse 爲響應信息
        //data 爲返回數據
        //connectionError 爲錯誤信息
        
        //在這裏打印一下data
        
        NSLog(@"%@",data);
        //二進制信息,因爲太多我截取了一部分
        /*
         2016-03-17 20:12:24.785 CX-網路異步請求[2982:155113] <ffd8ffe0 00104a46 49460001 01000048 00480000 ffe10058 45786966 00004d4d 002a0000 00080002 01120003 00000001 00010000 87690004 00000001 00000026 00000000 0003a001 00030000 00010001 0000a002 00040000 00010000 02eea003 00040000 00010000 02ee0000 0000ffed 00385068 6f746f73
         */
        
    }];
}

@end
相關文章
相關標籤/搜索