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. // ...
随机推荐
- SWT中ole/activex实践--操作word的一个例子
http://setting.iteye.com/blog/747295 ———————————————————————————————————————————————— 这几年,做了很多word/e ...
- Navi.Soft31.代码生成器(含下载地址)
1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码都是相同的,只需修改10%的代码量.此时 ...
- struts2 拦截器配置
CheckLoginInterceptor.java---拦截器具体实现类: package com.sunhoo.hcpms.struts2.action.interceptors; import ...
- 如何以Java实现网页截图技术
转自 http://blog.csdn.net/cping1982/article/details/5353049 今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地 ...
- 【Python】#!/usr/bin/python 作用
脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器.#! ...
- Android WiFi 扫描流程分析(wpa_supplicant选择网络)
扫描流程 1.如果之前就已经有相关记录,优化扫描,扫描记录部分的频率信道. 2.如果1中的扫描没有结果,清除黑名单中的进行选择. 3.如果2中没有结果,进行所有频率的信道进行扫描 相关log参考: h ...
- WebService系列一:WebService简介
原文链接:http://www.cnblogs.com/xdp-gacl/p/4259109.html 一.WebService是什么 WebService是一种跨编程语言和跨操作系统平台的远程调用技 ...
- 一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目. 使用Maven构建项目“mvn package” 来构建项目 使用Maven清理项目“mvn clean” 来清理项目 ...
- (转)live555学习笔记9-h264 RTP传输详解(1)
九 h264 RTP传输详解(1) 前几章对Server端的介绍中有个比较重要的问题没有仔细探究:如何打开文件并获得其SDP信息.我们就从这里入手吧. 当RTSPServer收到对某个媒体的DESCR ...
- AOP (面向切面编程)
AOP (面向切面编程) 留个参考的地址,还没看呢:http://www.cnblogs.com/zhaolb/p/4875167.html