1.功能说明:
UITableView在实际应用场景中,经常涉及到分页加载数据的情况。比较典型的例子是在tableview的顶部下拉可以重新从接口拉取并刷新第一页的数据,在滑动到底部的时候,使用UIActivityIndicatorView转圈并自动加载下一页的数据;不断下滑会重复此过程,直到所有分页数据加载完成;
2.要求:
1).tableview的头部有下拉加载的动画,可以参考MJRreshHeader
2).tableview的底部应该至少包含三种状态:
全部加载完成
加载数据错误
UIActivityIndicatorView转圈(表示加载中)
3).数据文本在桌面tableview文件夹里面,名字分别为data1,data2,data3,需要自己判断分页加载的情况;通过控制page 为1,2,3来获取不同的分页数据;
用o c代码来完成,另外,初始文件如下
//
// Train1ViewController.m
// iOS_Training_Demo1
//
// Created by smwl on 2021/1/14.
//
#import "Train1ViewController.h"
@interface Train1ViewController ()
@end
@implementation Train1ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
[self.navigationController setNavigationBarHidden:YES];
[self makeSubView];
}
-(void)makeSubView {
UILabel * titleLabel = [[UILabel alloc] init];
titleLabel.text = @"Training TableView";
titleLabel.textColor = [UIColor blackColor];
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.font = [UIFont systemFontOfSize:18];
[self.view addSubview:titleLabel];
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(0);
make.height.mas_equalTo(40);
make.top.mas_equalTo(88 - 40);
}];
}
#pragma mark - fetch data
-(void)fetchDataWithPage:(NSString *)pageStr {
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
3个json内容格式如下
[
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20200811/50108186863124421_thumb.png",
"show_name" : "山河",
"one_game_info" : "全新传奇不一般的体验,等您来战。-1"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20201216/40904839594914372_thumb.png",
"show_name" : "荣耀霸业-官方推荐",
"one_game_info" : "正版授权传奇激战手游"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20200606/31951617932332999_thumb.png",
"show_name" : "武林争霸",
"one_game_info" : "首创双职业自由切换 重温激情 热血PK"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20201229/52262633050212311_thumb.png",
"show_name" : "血饮天下",
"one_game_info" : "三国神将,单职业,等你来战"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20200917/42720341170133240_thumb.png",
"show_name" : "冰雪超变",
"one_game_info" : "经典传奇元宝无限爆"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20200618/35415230495480897_thumb.png",
"show_name" : "烈焰遮天-火龙超变",
"one_game_info" : "独创1秒10刀,刀刀斩杀,百倍爆率"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20201126/59938548377963246_thumb.png",
"show_name" : "烈火霸者-GM传奇",
"one_game_info" : "全新高爆率单职业传奇!送十万充值红包!"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20201225/97509229445281496_thumb.png",
"show_name" : "斗转武林",
"one_game_info" : "上线送168充值卡"
},
{
"game_logo" : "https://image.x7sy.com/uploads/game_img/20191218/41041557986859633_thumb.png",
"show_name" : "王城争霸",
"one_game_info" : "王城争霸,给你前所未闻的全新传奇体验"
}
]