美文网首页
ios MJ 刷新

ios MJ 刷新

作者: 路边的风景呢 | 来源:发表于2019-03-11 17:40 被阅读0次

-(void)refresh{

    self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{

        [self updateDataWithComponent:self.tableView.mj_header ];

    }];

    self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{

        [self updateDataWithComponent:self.tableView.mj_footer ];

    }];

    [self.tableView.mj_header beginRefreshing];

}

- (void)updateDataWithComponent:(id)component

{

    if([componentisKindOfClass:[MJRefreshHeaderclass]])

    {

        self.page=1;

    }

    elseif([componentisKindOfClass:[MJRefreshFooterclass]])

    {

        self.page++;

    }

    [[LNOthernetWork defaults] GetPeopleMessageWithunitId:@"986" index:[NSString stringWithFormat:@"%lu",self.page] size:[NSString stringWithFormat:@"%d",PAGE_SIZE_] WithProgressBlock:^(NSProgress * _Nonnull downloadProgress) {

    }WithSucBlock:^(id  _Nonnullresponseobj) {

        if([responseobj[@"status"]intValue] ==1) {

            [selfendRefresh];

            if([componentisKindOfClass:[MJRefreshHeaderclass]]) {

                [self.MessageArrayremoveAllObjects];

            }

            NSArray* rowArray = responseobj[@"list"];

            for(NSDictionary* dictinrowArray) {

                LNPeopleModel * model = [LNPeopleModel GetMessageWithDict:dict];

                [self.MessageArray addObject:model];

            }

            [self.tableViewreloadData];

            [selfendRefreshWithComponent:componentrealSize:rowArray.countsize:PAGE_SIZE_];

        }else{

            [selfendRefresh];

        }

    }WithFailBlock:^(NSError*_Nonnullerror) {

    }];

}

- (void)endRefresh{

    [self.tableView.mj_header endRefreshing];

    [self.tableView.mj_footer endRefreshing];

}

/**

 结束刷新的方法

 @param component 刷新的控件mj_header或者mj_footer

 @param realSize 网络请求实际拿到的数量

 @param size 网络请求要拿取得数量 (实际数量小于要拿取的数量,说明已经没有更多的数据)

 */

- (void)endRefreshWithComponent:(id)component realSize:(NSInteger)realSize size:(NSInteger)size

{

    if(component && [componentisKindOfClass:[MJRefreshHeaderclass]]) {

        [componentendRefreshing];

        [self.tableView.mj_footer resetNoMoreData];

    }

    elseif(component && [componentisKindOfClass:[MJRefreshFooterclass]])

    {

        if(realSize < size) {

            [self.tableView.mj_footer endRefreshingWithNoMoreData];

        }

        else{

            [self.tableView.mj_footer resetNoMoreData];

        }

    }

}

相关文章

网友评论

      本文标题:ios MJ 刷新

      本文链接:https://www.haomeiwen.com/subject/ugnbpqtx.html