使用NSConnection下载数据

转自:http://www.devdiv.com/home.php?mod=space&uid=60159&do=blog&id=11750
使用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. 实现委托方法 
 

[代码]c#/cpp/oc代码:

01 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
02      // store data
03      [self.receivedData setLength:0];            //通常在这里先清空接受数据的缓存
04  }
05   
06  - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
07         /* appends the new data to the received data */
08      [self.receivedData appendData:data];        //可能多次收到数据,把新的数据添加在现有数据最后
09  }
10  
11  - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
12      // 错误处理
13  }
14  
15  - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
16      // disconnect
17      [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;  
18      NSString *returnString = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding];
19      NSLog(returnString);
20      [self urlLoaded:[self urlString] data:self.receivedData];
21      firstTimeDownloaded = YES;
22  }

你可能感兴趣的:(iphone的函数)