• 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];
    }

    这里仅做记录!

  • 相关阅读:
    WCF 第十三章 可编程站点 为站点创建操作
    WCF 第十三章 可编程站点 所有都与URI相关
    WCF 第十二章 对等网 使用自定义绑定实现消息定向
    WCF 第十三章 可编程站点 使用WebOperationContext
    Using App.Config for user defined runtime parameters
    WCF 第十三章 可编程站点
    WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
    WCF 第十二章 总结
    WCF 第十三章 可编程站点 使用WebGet和WebInvoke
    WCF 第十三章 可编程站点 URI和UriTemplates
  • 原文地址:https://www.cnblogs.com/hero11223/p/9068795.html
Copyright © 2020-2023  润新知