• iOS tableView刷新


    下面是我对AFN刷新一个简单的封装我们只需要传过去一个tableView就好了 简化了一些代码

    #import <Foundation/Foundation.h>
    
    typedef NS_ENUM(NSInteger, refreshType) {
        TableViewHeaderRefresh,
        TableViewFooterRefresh
        
    };
    
    @interface HuTableViewRefresh : NSObject
    
    
    /**
     tableView 刷新
    
     @param tableView tableView
     @param success 下拉或者上拉
     */
    + (void)tableViewRefresh:(UITableView *)tableView success:(void(^)(refreshType refresh))success;
    
    
    @end
    
    #import "HuTableViewRefresh.h"
    
    @implementation HuTableViewRefresh
    
    + (void)tableViewRefresh:(UITableView *)tableView success:(void (^)(refreshType))success{
        
        tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
            success(TableViewHeaderRefresh);
        }];
        [tableView.mj_header beginRefreshing];
        tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
            success(TableViewFooterRefresh);
        }];
        tableView.mj_footer.automaticallyHidden = YES;
    
    }
    
    
    
    @end
    

    使用方法

     [HuTableViewRefresh tableViewRefresh:self.tableView success:^(refreshType refresh) {
            
            refresh == TableViewHeaderRefresh ? _pageNum = kPageNum: _pageNum ++;
            [self loadingData];
        }];
    - (void)loadingData{
        
        NSDictionary *paramters = @{@"pageNum":@(_pageNum),@"pageSize":@"10",@"classTypes":@"4"};
        
        WS(weakSelf)
        [PCHttpTools
            myCollection:paramters
              view:nil
                 success:^(NSArray *dataListArray) {
             
             [self.dateListArray addObjectsFromArray:dataListArray];
             
             if (_pageNum == kPageNum) {
                 
                 [self.tableView.mj_header endRefreshing];
                 
                 if (dataListArray.count <= 0) {
                     [self.tableView removeFromSuperview];
                     [self loadingDefaultview:@"暂无收藏课程~"];
                     
                 }
                 [self.dateListArray removeAllObjects];
                 
             }
             
             if (dataListArray.count < 10) {
                 
                 [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
                 
             }
             
             [weakSelf.dateListArray addObjectsFromArray:dataListArray];
             [self.tableView reloadData];
             
         }];
    }
    
    
  • 相关阅读:
    Dynamics AX
    专注于领域驱动设计的研究与实践系列转载
    在C#里使用属性,如Obsolete,Serializable,XmlRoot
    SQL 2005 with(nolock)详解
    Microsoft Domain Oriented NLayered .NET 4.0 App Sample (DDD Architecture)
    使用 .NET4 中的Task优化线程池【.NET4 多核并行】
    实现简单DTO适配器,解放你的双手
    最强悍的VS插件—reSharper
    通过代码配置 Log4net
    Microsoft NLayerApp案例理论与实践–DDD、分布式DDD及其分层【转】
  • 原文地址:https://www.cnblogs.com/huanghaipo/p/7111226.html
Copyright © 2020-2023  润新知