zoukankan      html  css  js  c++  java
  • 单例实现下拉加载大坑

    #pragma mark - 刷新

    //下拉刷新

    - (void)setUpRefresh

    {

        //用MJReference框架

        //下拉刷新

        _tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(getHotSchoolData)];

        //开始刷新

        [_tableView.header beginRefreshing];

        

        //上拉刷新

        MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(getMoreData)];

        //显示多少百分比就开始刷新

        self.tableView.footer = footer;

    }

    #pragma mark - 获取数据

    - (void)getHotSchoolData

    {

        __weak __typeof(self) weakSelf = self;

        [[HotModel singleton] getHotSchoolList:^{

            weakSelf.dataArray= [[HotModel singleton] hotSchoolArr];

            [weakSelf.tableView reloadData];

            

            [weakSelf.tableView.header endRefreshing];

        } failedBlock:^(NSString *state, NSString *errmsg) {

            

            [weakSelf.tableView.header endRefreshing];

        }];

    }

    - (void)getMoreData

    {

        __weak __typeof(self) weakSelf = self;

        if (self.dataArray.count != 0) {

            

            ZSLog(@"1=====%ld",self.dataArray.count);

            [[HotModel singleton] getMoreHotSchool:^{

                

                ZSLog(@"2=====%ld",self.dataArray.count);

                NSArray *newData = [[HotModel singleton] hotSchoolArr];

                [weakSelf.dataArray addObjectsFromArray:newData];

                ZSLog(@"3=====%ld",weakSelf.dataArray.count);

                [weakSelf.tableView reloadData];

                

                [weakSelf.tableView.footer endRefreshing];

            } failedBlock:^(NSString *state, NSString *errmsg) {

                

                [weakSelf.tableView.footer endRefreshing];

            }];

        }

    }

    问题:每次加载10条数据,上拉时1处打印总是20;2处总是打印10;3处打印20

    解决:单利的内存  是全局唯一的

    - (void)getHotSchoolData

    {

        __weak __typeof(self) weakSelf = self;

        [[HotModel singleton] getHotSchoolList:^{

            [weakSelf.dataArray addObjectsFromArray:[[HotModel singleton] hotSchoolArr]];

            [weakSelf.tableView reloadData];

            

            [weakSelf.tableView.header endRefreshing];

        } failedBlock:^(NSString *state, NSString *errmsg) {

            

            [weakSelf.tableView.header endRefreshing];

        }];

    }

  • 相关阅读:
    CLR Via CSharp读书笔记(26)
    RH253读书笔记(10)-Appendix A Installing Software
    RH253读书笔记(9)-Lab 9 Account Management Methods
    一位程序员工作10年总结的13个忠告
    不跟你谈“五险一金”的老板,都是在耍流氓
    RH253读书笔记(8)-Lab 8 Securing Data
    RH253读书笔记(7)-Lab 7 Electronic Mail
    RH253读书笔记(6)-Lab 6 Implementing Web(HTTP) Services
    robotium测试创建java文件和junit文件区别
    LigerUi中为Grid表加上序号,并调整适当宽度!(实例)
  • 原文地址:https://www.cnblogs.com/HMJ-29/p/5364343.html
Copyright © 2011-2022 走看看