- 獲取的初始加載的數(shù)據(jù):self.dataSourceArray;
- 2.加載更新的數(shù)據(jù):self.newSourceNarray;
2.1以微博獲取新數(shù)據(jù)為例:獲取數(shù)據(jù)時(shí)傳入當(dāng)前dataSourceArray中的firstObject的id即為最大的sinceId毅整,可以獲取現(xiàn)有基礎(chǔ)上的更新的dataSource數(shù)據(jù);
2.2 根據(jù)獲取的最新的dataSource數(shù)據(jù)獲取設(shè)置要插入
>// 將最新的微博數(shù)據(jù)助琐,添加到總數(shù)組的最前面
//NSRange range = NSMakeRange(0, newStatuses.count);
//NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
- 3.將self.newSourceNarray添加到self.dataSourceArray的最前端星岗;
3.1 提前設(shè)置插入的范圍NSRange:location溶握,length 酌壕;
3.2 NSIndexSet:插入最新數(shù)據(jù)
//[self.dataSourceArray insertObjects:newStatuses atIndexes:set];
- 4.[self.tableView reloadData];
- 5.[sender endRefresh ];
1.0 系統(tǒng)自帶控件UIRefreshControl添加下拉刷新控件
UIRefreshControl *refresh = [[UIRefreshControl alloc]init];
[refresh addTarget:self action:@selector(refreshControlBegin:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refresh];
-(void)refreshControlBegin:(UIRefreshControl *)sender{
// NSLog(@"refreshControlBegin");
// 進(jìn)行刷新操作衫画;
//將最新的數(shù)據(jù)插入到數(shù)組的最前面毫炉;
// 更新數(shù)據(jù)
// [self.tableView reloadData];
// //停止刷新;
// [sender endRefreshing];
}
2.0 MJRefresh添加下拉刷新控件削罩、上拉加載
#######2.1 MJRefresh直接添加
- (void)viewDidLoad { [super viewDidLoad];
//默認(rèn)【下拉刷新】.
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refresh)];
//默認(rèn)【上拉加載】
self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];
}
-(void)refresh{
[self getNetworkData:YES];
}
-(void)loadMore{
[self getNetworkData:NO];
}
#######2.12MJRefresh的block添加下拉刷新瞄勾、上拉加載
- (void)viewDidLoad { [super viewDidLoad];
__weak typeof(self) weakSelf = self;
//默認(rèn)block方法:設(shè)置下拉刷新
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
[weakSelf getNetworkData:YES]; }]
; //默認(rèn)block方法:設(shè)置上拉加載更多
.self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
//Call this Block When enter the refresh status automatically
[weakSelf getNetworkData:NO];
}];
}