zoukankan      html  css  js  c++  java
  • ios开发之--MJRefresh的简单使用

    MJRefresh是MJ大神写的框架,很强大,好多外国开发者都在用!

    具体方法如下:

    -(void)requestData
    {
        NSString *userIdStr = [NSString stringWithFormat:@"%@",[DEFAULTS objectForKey:USERID]];
        
        self.pageNums ++;
        
        HStart(self.view);
        [hHttpEngine getRongNoticeAction:userIdStr page:[NSString stringWithFormat:@"%ld",(long)self.pageNums] success:^(id response) {
            
            HStop(self.view);
            NSDictionary *dict = (NSDictionary *)response;
            
            NSString *codeStr = [NSString stringWithFormat:@"%@",dict[@"code"]];
            
            if ([codeStr isEqualToString:@"0"]) {
                
                if (self.pageNums == 1) {
                    [self.contentAry removeAllObjects];
                }
                
                self.dataAry = [NSMutableArray arrayWithArray:dict[@"data"]];
                
                if (self.dataAry.count > 0) {
                    
                    self.dataStatusView.hidden = YES;
                    newNotiTableV.hidden = NO;
                    
                    for (NSDictionary *dict in self.dataAry) {
                        NewNotiModel *model = [NewNotiModel mj_objectWithKeyValues:dict];
                        [self.contentAry addObject:model];
                    }
                }else
                {
                    if (self.contentAry.count == 0) {
                        self.dataStatusView.hidden = NO;
                        self.dataStatusView.dataStatus = DataStatus_noData;
                        newNotiTableV.hidden = YES;
                    }else
                    {
                        self.dataStatusView.hidden = YES;
                        newNotiTableV.hidden = NO;
                    }
                    self.pageNums --;
                }
                
            }else
            {
                HStop(self.view);
                show_msg(@"网络错误");
            }
            
            [newNotiTableV reloadData];
            [newNotiTableV.mj_footer endRefreshing];
            [newNotiTableV.mj_header endRefreshing];
            
        } failure:^(NSError *err) {
            HStop(self.view);
            [newNotiTableV.mj_footer endRefreshing];
            [newNotiTableV.mj_header endRefreshing];
        }];
    }

    方法调用,在tableview初始化的时候调用:

    newNotiTableV.mj_header = [MJRefreshHeader headerWithRefreshingBlock:^{
            [self requestData];
        }];
        
        newNotiTableV.mj_footer = [MJRefreshAutoFooter footerWithRefreshingBlock:^{
            self.pageNums = 0;
            [self requestData];
        }];

    数据转模型的方法:

    1,建一个model,然后在.m方法里面实现:

    -(void)setValue:(id)value forUndefinedKey:(NSString *)key
    {
        if ([key isEqualToString:@"id"]) {
            value = self.ida;
        }
    }

    可以什么都不写

    2,MJExtension类库,具体使用方法如下:

    for (NSDictionary *dict in dataAry) {
        MainListModel *model = [MainListModel mj_objectWithKeyValues:dict];
        [self.datasAry addObject:model];
    }

    这里仅做记录!

  • 相关阅读:
    【学习小记】一般图最大匹配——带花树算法
    如何检查oracle的归档空间是否满了
    Linux 的计划任务
    转 oracle的热备份和冷备份
    SQLException: Io 异常: Connection refused ERR=12514 ERR=1153异常处理过程
    查看oracle数据库版本
    ORACLE默认实例设置--linux
    oracle查看用户属于哪个表空间
    oracle默认数据库实例
    oracle 查看用户所在的表空间
  • 原文地址:https://www.cnblogs.com/hero11223/p/9068795.html
Copyright © 2011-2022 走看看