解析
#import "ViewController.h" #import "AFNetworking.h" #import "Model.h" #import "TableViewCell.h" #import "SVProgressHUD.h" #import "MJRefresh.h" @interface ViewController ()<UITableViewDelegate,UITableViewDataSource>{ NSDictionary *dict; } @property(nonatomic , strong)UITableView *ojtable; @property(nonatomic , strong)NSMutableArray *array; @end @implementation ViewController //1. 创建工程,工程名设置为GoldToday,应用名设置为“今日黄金”,最低适用的iOS //系统版本为10.0(10分) -(UITableView *)ojtable{ if (!_ojtable) { _ojtable = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain]; _ojtable.delegate = self; _ojtable.dataSource = self; } // 注册 [_ojtable registerNib:[UINib nibWithNibName:@"TableViewCell" bundle:nil] forCellReuseIdentifier:@"cell"]; return _ojtable; } - (void)viewDidLoad { [super viewDidLoad]; self.array = [NSMutableArray array]; [self addheaderrefresh]; // [self addfootrefresh]; [self.view addSubview:self.ojtable]; // af请求 [self loadNewData]; } - (void)loadNewData{ //显示加载栏 [SVProgressHUD showWithStatus:@"加载中..."]; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; [manager GET:@"http://web.juhe.cn:8080/finance/gold/shgold?key=1b9f570e367ce24e51135d69eac7d04e" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"%@",responseObject); NSArray *arr = responseObject[@"result"]; NSDictionary *dict = [arr objectAtIndex:0]; // 添加数据 for (NSDictionary *dic in dict.allValues) { Model *model = [Model new]; [model setValuesForKeysWithDictionary:dic]; [self.array addObject:model]; } [self.ojtable reloadData]; //取消刷新控件 [self.ojtable.mj_header endRefreshing]; [self.ojtable.mj_footer endRefreshing]; //去掉加载栏 [SVProgressHUD dismiss]; } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"%@",error); //提示用户 //取消刷新控件 [self.ojtable.mj_header endRefreshing]; [self.ojtable.mj_footer endRefreshing]; //去掉加载栏 [SVProgressHUD dismiss]; }]; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.array.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; Model *model =self.array[indexPath.row]; cell.time.text = model.time; //显示内容 cell.totalvol.text = model.totalvol; cell.variety.text = model.variety; cell.yespri.text = model.yespri; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 100; } // 添加头部刷新 -(void)addheaderrefresh{ MJRefreshGifHeader *header=[MJRefreshGifHeader headerWithRefreshingBlock:^{ //初始化页数 //清空数据源 [self.array removeAllObjects]; //重新发送网络请求 [self loadNewData]; }]; NSArray * imageArr = @[[UIImage imageNamed:@"common_loading_anne_0"],[UIImage imageNamed:@"common_loading_anne_1"]]; //添加正在刷新中的状态 [header setImages:imageArr forState:MJRefreshStateRefreshing]; //闲置状态 [header setImages:@[[UIImage imageNamed:@"common_loading_anne_0"]] forState:MJRefreshStateIdle]; //文字 [header setTitle:@"马上完成....." forState:MJRefreshStateRefreshing]; self.ojtable.mj_header=header; } //上拉加载 -(void)addfootrefresh{ MJRefreshAutoGifFooter *footer=[MJRefreshAutoGifFooter footerWithRefreshingBlock:^{ //重新请求数据 [self loadNewData]; }]; NSArray * imageArr = @[[UIImage imageNamed:@"loading_teemo_1"],[UIImage imageNamed:@"loading_teemo_2"]]; [footer setImages:imageArr forState:MJRefreshStateRefreshing]; self.ojtable.mj_footer=footer; }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
- 目录 一. 实现满座网的界面 导入图片和GDataXML 标签栏视图控制器 编写MyDownloader类封装下载...