[NSURLConnection]分别用Post和Get方式获取网络数据并把数据显示到表格
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate> { UIButton* getButton; UIButton* postButton; UITableView* table; NSMutableArray* array; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; getButton=[[UIButton alloc]initWithFrame:CGRectMake(30, 500, 100, 40)]; getButton.backgroundColor=[UIColor orangeColor]; [getButton setTitle:@"GET" forState:UIControlStateNormal]; [getButton addTarget:self action:@selector(getData) forControlEvents:UIControlEventTouchUpInside]; postButton=[[UIButton alloc]initWithFrame:CGRectMake(150, 500, 100, 40)]; postButton.backgroundColor=[UIColor orangeColor]; [postButton setTitle:@"POST" forState:UIControlStateNormal]; [postButton addTarget:self action:@selector(postData) forControlEvents:UIControlEventTouchUpInside]; table=[[UITableView alloc]initWithFrame:CGRectMake(0, 20, 320, 568-20) style:UITableViewStylePlain]; table.dataSource=self; table.delegate=self; [self.view addSubview:table]; [self.view addSubview:getButton]; [self.view addSubview:postButton]; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; { return array.count; } #pragma mark 表示每一行显示什么数据 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; { //内存优化 static NSString * identity=@"cell"; //tableview 根据标识复制出一个cell UITableViewCell * cell=[tableView dequeueReusableCellWithIdentifier:identity]; if (cell==nil) { cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identity]; } NSDictionary* dic=array[indexPath.row]; cell.textLabel.text=[dic valueForKey:@"title"]; cell.detailTextLabel.text=[dic valueForKey:@"type"]; cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; return cell; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(void)getData { NSLog(@"get"); //异步请求 //创建NSString用来存储请求的网址 NSString* str=@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213"; //用UTF8String格式转换成NSURL NSURL* url=[NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; //创建请求 NSURLRequest* request=[[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; //发送请求 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data) { //处理数据 NSDictionary* dic=[NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; array=[dic valueForKey:@"news"]; [table reloadData]; } if (connectionError) { NSLog(@"%@",[connectionError description]); } }]; } -(void)postData { NSLog(@"post"); //异步请求 //创建NSString用来存储请求的网址 NSString* str=@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx"; //用UTF8String格式转换成NSURL NSURL* url=[NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; //创建请求 NSMutableURLRequest* request=[[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; [request setHTTPMethod:@"POST"]; //设置参数 NSString* where=@"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213"; NSData* data=[where dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:data]; //发送请求 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data) { //处理数据 NSDictionary* dic=[NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; array=[dic valueForKey:@"news"]; [table reloadData]; } if (connectionError) { NSLog(@"%@",[connectionError description]); } }]; }
“人生苦短,不要把时间浪费在犹豫不决上,喜欢的东西就去买,喜欢的人就去追。”