博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSURLConnection的简单使用
阅读量:4080 次
发布时间:2019-05-25

本文共 1568 字,大约阅读时间需要 5 分钟。

遵循代理:NSURLConnectionDataDelegate

-(void)fetchWebData:(id)sender{

    self.isLoading=YES;
    
    NSString *urlStr=kRequestUrlStr(self.page);
    NSURL *url=[NSURL URLWithString:urlStr];
    
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    
    self.connection=[NSURLConnection connectionWithRequest:request delegate:self];

}

#pragma mark - <NSURLConnectionDataDelegate>
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
    self.isLoading=NO;
    NSLog(@"请求失败%@",error.localizedDescription);
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    NSHTTPURLResponse *httpResponse=(NSHTTPURLResponse *)response;
    NSLog(@"响应头:%@",httpResponse.allHeaderFields);
    NSLog(@"状态码:%ld",httpResponse.statusCode);
    NSLog(@"数据总长度%lld",response.expectedContentLength);
    [self.webData setLength:0];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    [self.webData appendData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
    self.isLoading=NO;
    if ([[NSThread currentThread] isMainThread]) {
        NSLog(@"主线程");
    }
    
    //解析下载的数据并放入dataArray
    NSError *error=nil;
    NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:_webData options:NSJSONReadingMutableContainers error:&error];
    if (self.page==1) {
        [self.dataArray removeAllObjects];
    }
    
    NSArray *users=dic[@"users"];
    for (NSDictionary *userDic in users) {
        User *user=[[User alloc] init];
        user.username=userDic[@"username"];
        user.headimage=userDic[@"headimage"];
        [self.dataArray addObject:user];
        [user release];
    }
    [self.tableView reloadData];
 }

转载地址:http://cjsni.baihongyu.com/

你可能感兴趣的文章
《软件过程管理》 第六章 软件过程的项目管理
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>
《数据库系统概论》 第一章 绪论
查看>>
《数据库系统概论》 第二章 关系数据库
查看>>
《数据库系统概论》 第三章 关系数据库标准语言SQL
查看>>
SQL语句(二)查询语句
查看>>
SQL语句(六) 自主存取控制
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
堆排序完整版,含注释
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>
PostgreSQL代码分析,查询优化部分,process_duplicate_ors
查看>>
PostgreSQL代码分析,查询优化部分,canonicalize_qual
查看>>
PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()
查看>>
IA32时钟周期的一些内容
查看>>
获得github工程中的一个文件夹的方法
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
PostgreSQL查询优化器详解之逻辑优化篇
查看>>