• IOS 网络浅析-(三 NSURLConnection代理)


    对于现在的iOS开发,用法简单,最古老最经典最直接的NSURLConnection的作用不是很大,但是作为一名ios开发者,我们应该拥有一颗热爱学习的心,下面通过代码的实现简单介绍一下NSURLConnection。

    //
    //  ViewController.m
    //  CX- NSURLConnection
    //
    //  Created by ma c on 16/3/17.
    //  Copyright © 2016年 xubaoaichiyu. All rights reserved.
    //
    
    #import "ViewController.h"
    
    @interface ViewController ()<NSURLConnectionDataDelegate>
    
    @property (nonatomic, strong) NSMutableData * data;
    
    @end
    
    @implementation ViewController
    #pragma mark - life
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        
        //data初始化,这个很简单,但是如果粗心大意很容易造成不必要的烦恼
        self.data = [NSMutableData data];
        
        NSString * urlString = [NSString stringWithFormat:@"http://localhost/tupian.jpg"];
        
        //如果有中文,则不能正常运行,因此在这里进行处理。
        //注意设置 ios为8 以下
        urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        
        NSURL * url = [NSURL URLWithString:urlString];
        
        NSURLRequest * request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15];
        
        NSURLConnection * connection = [NSURLConnection connectionWithRequest:request delegate:self];
        
        //开启网络
        [connection start];
        
    }
    #pragma mark - deleDate
    //服务器返回消息
    -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
        NSLog(@"服务器返回消息");
    }
    //接受数据(多次调用)
    -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
        
        [self.data appendData:data];
        
    }
    //请求完成
    -(void)connectionDidFinishLoading:(NSURLConnection *)connection{
        
        NSLog(@"%@",self.data);
        
        NSLog(@"请求完成");
    }
    //有序二进制代码过长,截取部分结果。
    /*
     2016-03-17 21:15:15.699 CX- NSURLConnection[3175:173721] 服务器返回消息
     2016-03-17 21:15:15.702 CX- NSURLConnection[3175:173721] <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
         a6845cde 3af7a697 f4aaead9 c8a70cd5 08ffd9>
     2016-03-17 21:15:15.788 CX- NSURLConnection[3175:173721] 请求完成
    
     */
    @end
  • 相关阅读:
    LiveVideoStack音视频技术大会深圳站,多媒体技术赋能新世界
    2019 Gdevops全球敏捷运维峰会-广州站火热来袭
    TOP100summit 全球软件案例研究峰会,学习早期实践者的最佳技术成长路径
    深度学习DeepLearning核心技术实战培训,全面掌握深度学习核心技能
    QCon上海2019来袭,探讨前沿技术落地
    python学习--如何实现反向迭代
    python学习--生成器Generator
    python学习--如何实现可迭代对象(itearable)和迭代器(iterator)
    python学习--实现用户的历史记录功能deque
    python学习--如何让字典变的有序
  • 原文地址:https://www.cnblogs.com/xubaoaichiyu/p/5289406.html
Copyright © 2020-2023  润新知