#pragma mark - 获取随机数
#define RandomData [NSString stringWithFormat:@"随机数据---%d",arc4random_uniform(10000)]
#import "MyViewController.h"
#import "MJRefresh.h"
@interface MyViewController ()<UITableViewDataSource,UITableViewDelegate>
@property (strong, nonatomic) NSMutableArray *fakeData;
@end
@implementation MyViewController
@synthesize tableView = tableView;
- (void)viewDidLoad {
[super viewDidLoad];
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
[self.view addSubview:tableView];
tableView.dataSource = self;
tableView.delegate = self;
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"MJCell"];
//集成刷新控件
[self setupRefresh];
}
#pragma mark - 集成刷新控件
- (void)setupRefresh
{
// 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
// [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
// dateKey用于存储刷新时间,可以保证不同界面拥有不同的刷新时间
[self.tableView addHeaderWithTarget:self action:@selector(headerRefreshing) dateKey:@"table"];//MJRefresh中的方法
#warning 自动刷新,已进入页面就刷新
[self.tableView headerBeginRefreshing];//MJRefresh中的方法
// 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
[self.tableView addFooterWithTarget:self action:@selector(footerRefreshing)];//MJRefresh中的方法
self.tableView.headerReleaseToRefreshText = @"下拉能刷新";
self.tableView.headerRefreshingText = @"松开就刷新";
self.tableView.headerRefreshingText = @"正在刷新";
self.tableView.footerPullToRefreshText = @"上拉能刷新";
self.tableView.footerReleaseToRefreshText = @"松开就刷新";
self.tableView.footerRefreshingText = @"正在刷新";
}
#pragma mark - 获取数据
- (NSMutableArray *)fakeData
{
if (!_fakeData) {
_fakeData = [NSMutableArray array];
for (int i = 0; i<10; i++) {
[_fakeData addObject:RandomData];
}
}
return _fakeData;
}
- (void)headerRefreshing
{
//添加假数据
for (int i = 0; i<10; i++) {
[_fakeData insertObject:RandomData atIndex:0];
}
// 2.模拟2秒后刷新表格UI(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(2.0*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 刷新表格
[self.tableView reloadData];
NSLog(@"********************%@",self.fakeData);
// (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
[self.tableView headerEndRefreshing];
});
}
- (void)footerRefreshing
{
//添加假数据
for (int i; i<10; i++) {
[_fakeData addObject:RandomData];
}
// 2.模拟2秒后刷新表格UI(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(2.0*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 刷新表格
[self.tableView reloadData];
// (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
[self.tableView footerEndRefreshing];
});
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.fakeData.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"MJCell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] init];
}
cell.textLabel.text = self.fakeData[indexPath.row];
return cell;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#define RandomData [NSString stringWithFormat:@"随机数据---%d",arc4random_uniform(10000)]
#import "MyViewController.h"
#import "MJRefresh.h"
@interface MyViewController ()<UITableViewDataSource,UITableViewDelegate>
@property (strong, nonatomic) NSMutableArray *fakeData;
@end
@implementation MyViewController
@synthesize tableView = tableView;
- (void)viewDidLoad {
[super viewDidLoad];
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
[self.view addSubview:tableView];
tableView.dataSource = self;
tableView.delegate = self;
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"MJCell"];
//集成刷新控件
[self setupRefresh];
}
#pragma mark - 集成刷新控件
- (void)setupRefresh
{
// 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
// [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
// dateKey用于存储刷新时间,可以保证不同界面拥有不同的刷新时间
[self.tableView addHeaderWithTarget:self action:@selector(headerRefreshing) dateKey:@"table"];//MJRefresh中的方法
#warning 自动刷新,已进入页面就刷新
[self.tableView headerBeginRefreshing];//MJRefresh中的方法
// 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
[self.tableView addFooterWithTarget:self action:@selector(footerRefreshing)];//MJRefresh中的方法
self.tableView.headerReleaseToRefreshText = @"下拉能刷新";
self.tableView.headerRefreshingText = @"松开就刷新";
self.tableView.headerRefreshingText = @"正在刷新";
self.tableView.footerPullToRefreshText = @"上拉能刷新";
self.tableView.footerReleaseToRefreshText = @"松开就刷新";
self.tableView.footerRefreshingText = @"正在刷新";
}
#pragma mark - 获取数据
- (NSMutableArray *)fakeData
{
if (!_fakeData) {
_fakeData = [NSMutableArray array];
for (int i = 0; i<10; i++) {
[_fakeData addObject:RandomData];
}
}
return _fakeData;
}
- (void)headerRefreshing
{
//添加假数据
for (int i = 0; i<10; i++) {
[_fakeData insertObject:RandomData atIndex:0];
}
// 2.模拟2秒后刷新表格UI(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(2.0*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 刷新表格
[self.tableView reloadData];
NSLog(@"********************%@",self.fakeData);
// (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
[self.tableView headerEndRefreshing];
});
}
- (void)footerRefreshing
{
//添加假数据
for (int i; i<10; i++) {
[_fakeData addObject:RandomData];
}
// 2.模拟2秒后刷新表格UI(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(2.0*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 刷新表格
[self.tableView reloadData];
// (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
[self.tableView footerEndRefreshing];
});
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.fakeData.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"MJCell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] init];
}
cell.textLabel.text = self.fakeData[indexPath.row];
return cell;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}