ios sdk5.0新特性 异步连接实现sendAsynchronousRequest:queue:completionHandler:

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"www.baidu.com"]cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30.0];
    
    [NSURLConnection sendAsynchronousRequest:request
     
                                       queue:[NSOperationQueue mainQueue]
     
                           completionHandler:^(NSURLResponse *response,NSData *data,NSError *error) {
                               
                               if ([data length] > 0 && error == nil)
                                   
                               {
                                   
                                   NSString *html = [[NSString alloc]initWithData:data encoding:NSASCIIStringEncoding];
                                   
                                   //操作
                                   
                               }
                               
                               else if ([data length] == 0 && error ==nil)
                                   
                               {
                                   
                                   //没有数据
                                   
                               }
                               
                               else if (error != nil)
                                   
                               {
                                   
                                   //超时
                                   
                               }
                               
                               else
                                   
                               {
                                   
                                   
                                   
                               }
                               
                           }];


另:CachePolicy类型。NSURLRequestCachePolicy。
1、NSURLRequestUseProtocolCachePolicy NSURLRequest默认的cache policy,使用Protocol协议定义。
2、NSURLRequestReloadIgnoringCacheData 忽略缓存直接从原始地址下载。
3、NSURLRequestReturnCacheDataElseLoad 只有在cache中不存在data时才从原始地址下载。
4、NSURLRequestReturnCacheDataDontLoad 只使用cache数据,如果不存在cache,请求失败;用于没有建立网络连接离线模式;
5、NSURLRequestReloadIgnoringLocalAndRemoteCacheData:忽略本地和远程的缓存数据,直接从原始地址下载,与NSURLRequestReloadIgnoringCacheData类似。
6、NSURLRequestReloadRevalidatingCacheData:验证本地数据与远程数据是否相同,如果不同则下载远程数据,否则使用本地数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值