• 使用NSConnection下载数据


    1.创建NSConnection对象,设置委托对象
        
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[self urlString]]];
        [NSURLConnection connectionWithRequest:request delegate:self];
        
        2. NSURLConnection delegate委托方法
            - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;  
            - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;  
            - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;  
            - (void)connectionDidFinishLoading:(NSURLConnection *)connection;  
    
        3. 实现委托方法
        - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
            // store data
            [self.receivedData setLength:0];            //通常在这里先清空接受数据的缓存
        }
        
        - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
               /* appends the new data to the received data */
            [self.receivedData appendData:data];        //可能多次收到数据,把新的数据添加在现有数据最后
        }
    
        - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
            // 错误处理
        }
    
        - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
            // disconnect
            [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;   
            NSString *returnString = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding];
            NSLog(returnString);
            [self urlLoaded:[self urlString] data:self.receivedData];
            firstTimeDownloaded = YES;
        }
    
    
  • 相关阅读:
    40_接口类型的使用
    39_方法值和方法表达式
    38_方法的重写
    37_匿名字段方法的继承
    36_方法集的使用
    文件方式实现完整的英文词频统计实例
    组合数据类型练习,英文词频统计实例上
    英文词频统计预备,组合数据类型练习
    凯撒密码、GDP格式化输出、99乘法表
    字符串基本操作‘’
  • 原文地址:https://www.cnblogs.com/jiewong/p/1925454.html
Copyright © 2020-2023  润新知