iOS-MJRefresh框架
1.用MJRefresh框架实现上下拉刷新
1.1 如何使用这个框架,只需要告诉控件的scrollView是谁,就能将框架添加到我们的滚动视图中了
// 下拉刷新
MJRefreshHeaderView *header = [MJRefreshHeaderView header];
header.scrollView = self.tableView;
header.delegate = self;
// 开始下拉刷新
[header beginRefreshing];
MJRefreshFooterView *footer = [MJRefreshFooterView footer];
footer.scrollView = self.tableView;
footer.delegate = self;
1.3 加载最新数据,需要将获取到的数据插入最前面
#pragma mark 下拉刷新新数据
- (void)loadNewData:(MJRefreshBaseView *)refreshView
{
// 取出第一条微博ID
// 需要判断数组是否为空。
StatusCellFrame *f = _statusesFrame.count?_statusesFrame[0] :nil;
long long sinceId = f.status.ID;
[StatusTool statusesWithPath:@"2/statuses/friends_timeline.json" sinceId:sinceId maxId:0 success:^(NSArray *statues) {
// 显示刷新了多少条数据
[self showNewStatusCount:statues.count];
NSMutableArray *newFrames = [NSMutableArray arrayWithCapacity:statues.count];
for (Status *status in statues) {
// 将微博数据转换成frame模型
StatusCellFrame *f = [[StatusCellFrame alloc] init];
f.status = status;
[newFrames addObject:f];
}
// 将数据插入到数组最前面
[_statusesFrame insertObjects:newFrames atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, newFrames.count)]];
// 刷新表格
[self.tableView reloadData];
// 停止刷新状态
[refreshView endRefreshing];
} failure:^(NSError *error) {
[refreshView endRefreshing];
}];
1.4 加载更多以前的数据,直接将获取到的数据添加到最后就行了。
#pragma mark 上啦刷新更多
- (void)loadMoreData:(MJRefreshBaseView *)refreshView
{
// 取出最后一条微博ID
StatusCellFrame *f = [_statusesFrame lastObject];
long long maxId = f.status.ID;
// 加载比当前小的微博数据
maxId--;
[StatusTool statusesWithPath:@"2/statuses/friends_timeline.json" sinceId:0 maxId:maxId success:^(NSArray *statues) {
// 将获取到的数据放置最前面
NSMutableArray *newFrames = [NSMutableArray arrayWithCapacity:statues.count];
for (Status *status in statues) {
// 将微博数据转换成frame模型
StatusCellFrame *f = [[StatusCellFrame alloc] init];
f.status = status;
[newFrames addObject:f];
}
// 将数据添加到最后面
[_statusesFrame addObjectsFromArray:newFrames];
// 刷新表格
[self.tableView reloadData];
// 让刷新控件停止刷新状态
[refreshView endRefreshing];
} failure:^(NSError *error) {
[refreshView endRefreshing];
}];
iOS-MJRefresh框架的更多相关文章
- 又一个高性能轻量级的iOS模型框架YYModel
前言 iOS的模型框架其实有很多了,去年研究过Mantle,也了解过JSONModel.MJExtension,最近的项目项目优化的时候,再次考虑,基于轻量级.高性能的考虑,最终选择了YYModel. ...
- [iOS 主要框架的总结]
原文地址:http://blog.csdn.net/GooHong/article/details/28911301 在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件, ...
- swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程
swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3 注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在 ...
- Swift版iOS游戏框架Sprite Kit基础教程下册
Swift版iOS游戏框架Sprite Kit基础教程下册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C 介绍:本教程是国内唯一的Swift版的Spritekit教程. ...
- iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...
- IOS系统框架
IOS系统框架:ios架构号MAC OS的基础框架相似:ios扮演底层硬件和应用程序的中介,底层为所有应用程序提供基础服务,高层则包含一些复杂巧妙的技术和服务,并且创建的应用程序不能直接访问硬件. C ...
- ios中框架介绍
ios中框架介绍 参考博客: 参考文章:框架介绍 框架介绍 框架就是一个目录,一个目录包含了共享库,访问共享库里面的代码的头文件,和其他的图片和声音的资源文件.一个共享库定义的方法和函数可以被应用程序 ...
- iOS Foundation 框架基类
iOS Foundation 框架基类 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转 ...
- iOS各框架功能简述以及系统层次结构简单分析
iOS各个框架所对应的功能简单介绍 iOS系统结构层次:
- iOS绘图框架CoreGraphics分析
由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择会感到有些迷茫,甚至会觉得iOS的图形绘制有些繁琐.因此,本文主要介绍一下iOS的绘图 ...
随机推荐
- LightOJ - 1148-Mad Counting (数学)
链接: https://vjudge.net/problem/LightOJ-1148 题意: Mob was hijacked by the mayor of the Town "Trut ...
- [Angular 8] Calculate and Measure Performance budgets with the Angular CLI
Measuring is extremely important, without numbers we don’t know about potential problems and we don’ ...
- js中int和string数据类型互相转化实例
今天做项目的时候,碰到一个问题,需要把String类型的变量转化成int类型的.按照常规,我写了var i = Integer.parseInt("112");但控制台报错,说是“ ...
- P1929 迷之阶梯
题目描述 在经过地球防卫小队的数学家连续多日的工作后,外星人发的密码终于得以破解.它 告诉我们在地球某一处的古老遗迹中,存在有对抗这次灾难的秘密武器.防卫小队立即赶 到这处遗迹.要进入遗迹,需要通过一 ...
- TensorFlow(十八):从零开始训练图片分类模型
(一):进入GitHub下载模型-->下载地址 因为我们需要slim模块,所以将包中的slim文件夹复制出来使用. (1):在slim中新建images文件夹存放图片集 (2):新建model文 ...
- shell 边边角角
[Shell学习笔记] 数组.关联数组和别名使用 Linux中bash脚本数组和字典使用举例 Linux Shell 通配符.元字符.转义符使用实例介绍
- DES 加密 转码 脱敏
from pyDes import des, CBC, PAD_PKCS5 import binascii # 秘钥 KEY = 'mHAxsLYz' from pyDes import des, C ...
- http状态码-备查
http状态码分类 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** 客户端错误,请求包含语 ...
- jsp 页面 javax.servlet.jsp.JspException cannot be resolved to a type 异常
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId> ...
- LeetCode设计实现题(一)
一.LRU缓存机制(LeetCode-146) 1.1 题目描述 1.2 解题思路 思路1: 使用Map存放key,value,使用List存放key和count,count为最新的index值,每次 ...