博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios开发之--MJRefresh的简单使用
阅读量:6207 次
发布时间:2019-06-21

本文共 2682 字,大约阅读时间需要 8 分钟。

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

 

这里仅做记录!

 

转载于:https://www.cnblogs.com/hero11223/p/9068795.html

你可能感兴趣的文章
Windows Server 2012 从入门到精通系列 之许可与定价常见问题
查看>>
1分钟完成MySQL5.6生产库自动化安装部署
查看>>
sudoers配置使用
查看>>
Android应用程序键盘(Keyboard)消息处理机制分析(20)
查看>>
三星Galaxy Note9:亮相既革新 智能互联生活的进阶
查看>>
使用Struts 2的Ajax支持
查看>>
需求定义中的不支持——可能的测试盲区
查看>>
oracle-25031安装错误分析解决
查看>>
融合式架构Nutanix深入分析一
查看>>
产品和服务的三个根本问题
查看>>
七牛js-sdk上传文件到服务器
查看>>
数据仓库入门(实验5)添加维度
查看>>
解决服务器复制中SID冲突问题
查看>>
OSSIM Server和Sensor间通讯问题
查看>>
两个相似SQL的查询结果,以前未曾注意
查看>>
从VMware ESX Server 4升级到ESXi 5
查看>>
马化腾重组腾讯架构,扎根中国放眼世界
查看>>
在Hyper-V主机中支持VLAN
查看>>
VMM2012应用指南之1-实验环境概述与准备
查看>>
《Oracle AWR与ASH性能报告深入解析》-核心参数详解-手操-图文
查看>>