zoukankan      html  css  js  c++  java
  • 网络邂逅&网络异步请求

    什么是卡,网络慢,且你只能等着它加载完不能做别的事

    这里便引申出网络异步请求的概念

    #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
  • 相关阅读:
    彩票股票金融与运气之研究(四)易道
    寻物一例
    彩票股票金融与运气之研究(三) 抽象模型
    彩票股票金融与运气之研究(一)前奏
    占何时可招到人
    占这单项目可成否
    C#控制DataMax打印机问题总结
    微软宣布Silverlight 5
    Windows Phone 7应用之sina微博——UI设计
    传言:Windows Phone 7“芒果”更新将增加 HTML5 支持
  • 原文地址:https://www.cnblogs.com/iOSlearner/p/5335921.html
Copyright © 2011-2022 走看看