博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS.访问 Web Service.异步GET请求方法
阅读量:4561 次
发布时间:2019-06-08

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

#import 
#import "T20140628024750NSNumber+Message.h"#import "T20140628024750NSString+URLEncoding.h"@interface T20140628024750ViewController : UITableViewController
@property (nonatomic,strong) NSMutableArray *listData;//接收从服务器返回数据。@property (strong,nonatomic) NSMutableData *datas;// 查询所有-(void)findAll;@end
#import "T20140628024750ViewController.h"@interface T20140628024750ViewController ()@end@implementation T20140628024750ViewController- (void)viewDidLoad{    [super viewDidLoad];        // 1、初始化数据    [self findAll];}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];}#pragma mark table dataSource- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    return self.listData.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    // 1、初始化重用Cell    static NSString *reUseCell = @"reUseCell";    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reUseCell];    if (cell == nil) {        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reUseCell];    }        // 2、配置重用Cell数据    NSMutableDictionary*  dict = self.listData[indexPath.row];    cell.textLabel.text = [dict objectForKey:@"Content"];    cell.detailTextLabel.text = [dict objectForKey:@"CDate"];    return cell;}-(void)findAll{    NSString *strURL = [[NSString alloc] initWithFormat:@"http://127.0.0.1:8080/kujizu/test01.html"];    NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];        if (connection) {        _datas = [NSMutableData new];    }}#pragma mark- NSURLConnection 回调方法- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {    [_datas appendData:data];}-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {        NSLog(@"%@",[error localizedDescription]);}- (void) connectionDidFinishLoading: (NSURLConnection*) connection {    NSLog(@"请求完成...");    NSDictionary* resDict = [NSJSONSerialization JSONObjectWithData:_datas options:NSJSONReadingAllowFragments error:nil];        if (resDict == nil) {                self.listData = [[NSMutableArray alloc] init];        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:@"没有数据。" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];        [alertView show];    }else{                NSNumber *resultCodeObj = [resDict objectForKey:@"ResultCode"];        if ([resultCodeObj integerValue] >=0){                        self.listData = [resDict objectForKey:@"Record"];            [self.tableView reloadData];        } else {                        NSString *errorStr = [resultCodeObj errorMessage];            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:errorStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];            [alertView show];        }    }    }@end

 

转载于:https://www.cnblogs.com/cqchen/p/3817563.html

你可能感兴趣的文章
ASP.NET缓存全解析(转)
查看>>
java线程系列---java5中的线程池
查看>>
SQL表连接
查看>>
新秀系列C/C++经典问题(四)
查看>>
memset函数具体说明
查看>>
经常使用的android弹出对话框
查看>>
确保新站自身站点设计的合理性的六大注意点
查看>>
1033. 旧键盘打字(20)
查看>>
asp编程实例:ASP编程中20个非常有用的例子
查看>>
uva 11300(代数分析)
查看>>
python求线性回归斜率
查看>>
AVR汇编初探之二《AVR的指令与汇编系统》
查看>>
opencv: 基本知识(二);
查看>>
HDU 1096 A+B for Input-Output Practice (VIII)
查看>>
HDU 1076 An Easy Task
查看>>
Qt 地址薄 (二) 添加地址
查看>>
第12课 - 自动生成依赖关系(中)
查看>>
SVN简明课程
查看>>
《剑指offer》---顺时针打印矩阵
查看>>
腾讯面试总结
查看>>