1. 程式人生 > >IOS 處理分頁資料的上拉下拉重新整理

IOS 處理分頁資料的上拉下拉重新整理

@interface Phy_PackagesController ()
{
     MKNetworkOperation *op;
    NSMutableArray *array;
    NSMutableArray *array2;
    NSInteger _page,_page2;
    NSInteger _pageSize,_pageSize2;
}
@property (weak, nonatomic) IBOutlet UITableView *tableview;
@end

@implementation Phy_PackagesController

-(id)init{
    _page=1;  _page2=1;          //頁碼
    _pageSize=10;  _pageSize2=10;      //每頁條數

    self = [super init];
    if(self){
        
[email protected]
"體檢套餐"; } return self; } -(void)dealloc { [array removeAllObjects]; [array2 removeAllObjects]; array = nil; array2 = nil; } - (void)viewDidLoad { [super viewDidLoad]; array=[[NSMutableArray alloc]init]; array2=[[NSMutableArray alloc]init]; //上下拉重新整理 self.tableview.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ if(!self._typelist)//普通套餐列表 { [self PhyExamPackageList]; } else//體檢型別套餐 { [self initTypeData]; } }]; self.tableview.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{ if(!self._typelist)//普通套餐列表 { [self loadMorePhyExanjd]; } else//體檢型別套餐 { [self loadMoreinitTypeData]; } }]; [self.tableview.mj_header beginRefreshing]; self.tableview.delegate = self; self.tableview.dataSource = self; [self.tableview reloadData]; } -(void)viewDidDisappear:(BOOL)animated { if (op) { [op cancel]; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } #pragma mark - Request //普通套餐列表 -(void)PhyExamPackageList { __weak Phy_PackagesController *ws = self; op=[PhysicalExamManager phyExamPackageList:_page pageSize:_pageSize successBlock:^(PhyExamPackageModel *result) { [ws.tableview.mj_header endRefreshing]; if(result){ if([result.resultCode isEqualToString:kStatusSucc]){ _page=1; [array removeAllObjects]; [array addObjectsFromArray:result.response ]; [ws.tableview reloadData]; }else{ [self.alertView showMessage:@"資料載入完了"]; // [self.alertView showMessage:result.msg]; } }else{ [ws.tableview.mj_header endRefreshing]; [self.alertView showMessage:kMessageNetError]; } } errorBlock:^(NSString *error) { [ws.tableview.mj_header endRefreshing]; [self.alertView showMessage:kMessageNetError]; }]; } //下拉重新整理更多普通套餐資料 -(void)loadMorePhyExanjd { __weak Phy_PackagesController *ws = self; op=[PhysicalExamManager phyExamPackageList:_page+1 pageSize:_pageSize successBlock:^(PhyExamPackageModel *result) { [ws.tableview.mj_footer endRefreshing]; if(result){ if([result.resultCode isEqualToString:kStatusSucc]){ _page += 1; [array addObjectsFromArray:result.response ]; [ws.tableview reloadData]; }else{ [self.alertView showMessage:@"資料載入完了"]; // [self.alertView showMessage:result.msg]; } }else{ [ws.tableview.mj_footer endRefreshing]; [self.alertView showMessage:kMessageNetError]; } } errorBlock:^(NSString *error) { [ws.tableview.mj_footer endRefreshing]; [self.alertView showMessage:kMessageNetError]; }]; } //根據體檢型別查詢套餐 -(void)initTypeData { __weak Phy_PackagesController *ws = self; op=[PhysicalExamManager proListByType:self._typelist.dictId page:_page2 pageSize:_pageSize2 successBlock:^(proListByTypeModel *result) { [ws.tableview.mj_header endRefreshing]; if(result){ if([result.resultCode isEqualToString:kStatusSucc]){ _page2=1; [array removeAllObjects]; [array addObjectsFromArray:result.response]; [ws.tableview reloadData]; }else{ [self.alertView showMessage:@"資料載入完了"]; // [self.alertView showMessage:result.msg]; } }else{ [ws.tableview.mj_header endRefreshing]; [self.alertView showMessage:kMessageNetError]; } } errorBlock:^(NSString *error) { [self.alertView showMessage:kMessageNetError]; [ws.tableview.mj_header endRefreshing]; }]; } //根據體檢型別查詢套餐下拉重新整理 -(void)loadMoreinitTypeData { __weak Phy_PackagesController *ws = self; op=[PhysicalExamManager proListByType:self._typelist.dictId page:_page2+1 pageSize:_pageSize2 successBlock:^(proListByTypeModel *result) { [ws.tableview.mj_footer endRefreshing]; if(result){ if([result.resultCode isEqualToString:kStatusSucc]){ _page2 += 1; [array addObjectsFromArray:result.response]; [ws.tableview reloadData]; }else{ [self.alertView showMessage:@"資料載入完了"]; // [self.alertView showMessage:result.msg]; } }else{ [ws.tableview.mj_footer endRefreshing]; [self.alertView showMessage:kMessageNetError]; } } errorBlock:^(NSString *error) { [self.alertView showMessage:kMessageNetError]; [ws.tableview.mj_footer endRefreshing]; }]; }