本文共 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/