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. // ...
随机推荐
- SpringBoot 开启 Actuator
在生产环境中,需要实时或定期监控服务的可用性.spring-boot 的actuator(监控)功能提供了很多监控所需的接口.简单的配置和使用如下: 1.引入依赖: <dependency> ...
- javascript弹层
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- SparkR初体验2.0
突然有个想法,R只能处理百万级别的数据,如果R能运行在Spark上多好!搜了下发现13年SparkR这个项目就启动了,感谢美帝! 1.你肯定得先装个spark吧.看这:Spark本地模式与Spark ...
- R语言进行数据预处理
R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with Rpackages:tidyr dplyr Ground rules l ...
- ssh远程服务器
使用用户名密码登录 在命令行中输入命令: ssh username@ip_address -p port 之后系统会提示输入密码,输入后即可登录 如果不添加-p选项,则默认是22端口 还可以使用-l选 ...
- Linux命令_用户和用户组管理
新增组的命令 groupadd 格式:groupadd [-g GID] groupname 如果不加-g选项,则按照系统默认的gid创建组.跟uid一样,gid也是从1000开始的. 我们也可以如下 ...
- Java如何显示小时和分钟?
在Java中,如何显示小时和分钟(当前时间)? 此示例演示如何使用Calender类的Calender.getInstance()来显示某个时刻的小时和分钟. package com.yiibai; ...
- Newtonsoft.Json 序列化小写首字母
//json对象命名小驼峰式转换var json = JsonConvert.SerializeObject(newAccount, Formatting.Indented, new JsonSeri ...
- (转)最简单的基于FFmpeg的内存读写的例子:内存播放器
ffmpeg内存播放解码 目录(?)[+] ===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章 ...
- CloudSetuper
地址:http://setup.qframer.com/help CloudSetuper CloudSetuper 是一款windows上的安装包制作工具,类似 NSIS or Inno Setup ...