iOS.访问 Web Service.使用下拉刷新控件
#import <UIKit/UIKit.h> #import "T20140628025702NSNumber+Message.h" #import "T20140628025702NSString+URLEncoding.h" @interface T20140628025702ViewController : UITableViewController @property (nonatomic,strong) NSMutableArray *listData; // 查询所有 -(void)findAll; @end
#import "T20140628025702ViewController.h" @interface T20140628025702ViewController () @end @implementation T20140628025702ViewController - (void)viewDidLoad { [super viewDidLoad]; // 1、初始化数据 [self findAll]; //初始化UIRefreshControl UIRefreshControl *rc = [[UIRefreshControl alloc] init]; rc.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新01"]; [rc addTarget:self action:@selector(refreshTableView) forControlEvents:UIControlEventValueChanged]; self.refreshControl = rc; } -(void) refreshTableView { if (self.refreshControl.refreshing) { self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"加载中..."]; [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]; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; if (data == nil) { self.listData = [[NSMutableArray alloc] init]; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:@"没有数据。" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alertView show]; }else{ NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; NSNumber *resultCodeObj = [resDict objectForKey:@"ResultCode"]; if ([resultCodeObj integerValue] >=0){ self.listData = [resDict objectForKey:@"Record"]; } else { NSString *errorStr = [resultCodeObj errorMessage]; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:errorStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alertView show]; } } if (self.refreshControl) { [self.refreshControl endRefreshing]; self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新02"]; } } @end
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。