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:@""]) { if (self.pageNums == ) {
[self.contentAry removeAllObjects];
} self.dataAry = [NSMutableArray arrayWithArray:dict[@"data"]]; if (self.dataAry.count > ) { 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 == ) {
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 = ;
[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];
}
这里仅做记录!
ios开发之--MJRefresh的简单使用的更多相关文章
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- iOS开发UI篇—Kvc简单介绍
ios开发UI篇—Kvc简单介绍 一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observ ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- iOS开发UI篇—Quartz2D简单介绍
iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...
- iOS开发UI篇—Quartz2D简单使用(一)
iOS开发UI篇—Quartz2D简单使用(一) 一.画直线 代码: // // YYlineview.m // 03-画直线 // // Created by apple on 14-6-9. // ...
随机推荐
- 【转】使用sonar为你的代码质量保驾护航
一. 简介Sonar是一个用于代码质量管理的开放平台,相信大家都不会陌生.Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具.官方网站https://www.sonarqube.org ...
- Qt安装过程中: configure 时发生的经典出错信息之”Basic XLib functionality test failed!”(Z..z..) 之 MySQL support cannot be enabled due to functionality test!
整出错信息是在./configure阶段Basic XLib functionality test failed!You might need to modify the include and li ...
- ITSM运营实施案例 - 汽车行业
M公司是在汽车行业知名TOP企业,在日常运营过程中有如下问题: ******************************************************************** ...
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- JUnit教程
测试是检查应用程序是否是工作按照要求,并确保在开发者水平,单元测试进入功能性的处理.单元测试是单一实体(类或方法)的测试. 单元测试在每一个软件公司开发高品质的产品给他们的客户是十分必要的. 单元测试 ...
- e868. 获取和设置本地外观
By default, Swing uses a cross-platform look and feel called Metal. In most cases, it is more desira ...
- 解决Eclipse代码分析插件SonarLint在Console输出乱码问题
在Eclipse安装目录下的eclipse.ini文件末尾加上一行 -Dfile.encoding=UTF-8 即可.
- 【经验之谈】Git使用之TortoiseGit配置VS详解;国内几大Git代码托管网站
转载自: http://www.cnblogs.com/xishuai/p/3590705.html http://www.cnblogs.com/shanyou/p/3662482.html
- pyqt5加载网路图片,不本地下载。
依赖组件: requests class webImg: pass if __name__ == '__main__': import sys from PyQt5.QtWidgets import ...
- Python MySQL(MySQLdb)
From: http://www.yiibai.com/python/python_mysql.html Python标准的数据库接口的Python DB-API(包括Python操作MySQL).大 ...