一个强大且内置 PullToRefresh 和 Load More (无限滚动)功能的 UITableView。RSMasterTableView 是基于 [SVPullToRefresh] (https://github.com/samvermette/SVPullToRefresh) 开发的。
RSMasterTableView 可以作为一个普通的 tableView 使用,也可以用来实现 PullToRefresh 和 Infinite Scrolling。无需编写复杂的代码来管理数据和分页结构。
[self.tableView enablePullToRefreshWithActionHandler:^{
/* Make your API call here */
[self fetchDataFromServer];
}];
[self.tableView enableInfiniteScrollingWithActionHandler:^{
/* Make your API call here */
[self fetchDataFromServer];
}];
#pragma mark- TableView Setup
-(void)configureTableView {
/* setup tableView */
[self.tableView setupTableViewCellConfiguration:^(id cell, id object, NSIndexPath *indexPath) {
/* set data to TableView cell */
} forCellIdentifier:@"cell"];
/* enable Infinite Scrolling */
[self.tableView enableInfiniteScrollingWithActionHandler:^{
/* Make your API call here */
[self fetchDataFromServer];
}];
/* modify statIndex, records per page etc */
self.tableView.startIndex = 1;
self.tableView.recordsPerPage = 20;
self.tableView.noDataFoundMessage = @"No Records found";
}
-(void)fetchDataFromServer {
/* send request here */
id response; /* get response here */
[self didGetResponseFromServer:response];
}
#pragma mark- Success
-(void)didGetResponseFromServer:(id)response {
/* inform tableview about data array and total pages */
NSMutableArray *array = response;
NSUInteger totalDatacount = 100; /* get total count from server */
[self.tableView didCompleteFetchData:array withTotalCount:totalDatacount];
}
#pragma mark- Failure
-(void)didFailToGetData {
/* inform tableview in failure */
[self.tableView didFailToFetchdata];
}
RSMasterTableView 遵循 MIT 许可发布。详细信息请参阅 LICENSE 文件。