iOS开发tableview二级联动的细节实现中注意的细节总结

首先说网络慢带来的数据显示问题
可以通过判断请求参数是否一致来刷新tableview。
SJBCategaryModel * categaryModel = self.categarys[CategarySelectRow];
NSMutableDictionary * params = [NSMutableDictionary dictionary];
categaryModel.currentPage = 1;
params[@"a"] = @"list";
params[@"c"] = @"subscribe";
params[@"category_id"] = @(categaryModel.id);
params[@"page"] = @(categaryModel.currentPage);
self.params = params;
[self.manager GET:Main_URL parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (self.params != params) return;
[categaryModel.userArrM removeAllObjects];
for (int i=0; i<[responseObject[@"list"] count]; i++) {
SJBUserModel * model = [[SJBUserModel alloc] init];
[model setValuesForKeysWithDictionary:responseObject[@"list"][i]];
[categaryModel.userArrM addObject:model];
}
categaryModel.total = [responseObject[@"total"] integerValue];
[self.userTableView reloadData];
[self.userTableView.mj_header endRefreshing];
[self checkTableFooterState];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
[self.userTableView.mj_header endRefreshing];
}];
上啦加载时,footer显示不一致的问题
if (!self.categarys.count) {
return;
}
SJBCategaryModel * categaryModel = self.categarys[CategarySelectRow];
self.userTableView.mj_footer.hidden = (categaryModel.userArrM.count == 0);
if (categaryModel.userArrM.count == categaryModel.total) {
[self.userTableView.mj_footer endRefreshingWithNoMoreData];
}else{
[self.userTableView.mj_footer endRefreshing];
}
如果请求的数据的数量与总量相等就显示没有更多的数据,若小于总量就显示点击或上拉加载更多的数据。

iOS开发tableview二级联动的细节实现中注意的细节总结的更多相关文章
- iOS开发tableView去掉顶部上部空表区域
tableview中的第一个cell 里上部 有空白区域,大概64像素 在viewDidLoad中加入如下代码 self.automaticallyAdjustsScrollViewInsets = ...
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建 一.实现效果 说明:该示例在storyboard中使用动态单元格来完成. 二.实现 1.项目文件结构 ...
- iOS开发几年了,你清楚OC中的这些东西么!!!?
iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...
- IOS开发问题录:如何在Swift中引入Head文件?
最近在学习IOS开发,从一个简单的登录开始,逐步解决了一个网络访问.获取控件值等问题,遇到了信息加密的问题. 做为IOS的入门者,信息加密需要解决如下几个问题: 1.IOS的MD5加密有没有固定函数, ...
- iOS开发——UI篇&文字渐变效果:图层中的mask属性
文字渐变效果:图层中的mask属性 本次文章,主要讲述的是图层中的mask属性,利用它,可以做出文字渐变效果! 一.文字渐变效果: 二.文字渐变实现思路: 1.创建一个颜色渐变层,渐变图层跟文字控件一 ...
- iOS开发几年了,你清楚OC中的这些东西么1
前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1.2发布后就正式并且一直都使用了swift进行iOS ...
- iOS开发调试技巧总结(持续更新中)
作者:乞力马扎罗的雪 原文 对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不 ...
- [IOS 开发] TableView、多个TableViewCell、自定义Cell、Cell上画画(故事板+代码方式)
第一步: //UserTableViewCell.h这里定义第一种Cell #import <UIKit/UIKit.h> @interface UserTableViewCell : U ...
- iOS开发 tableView点击下拉扩展 + 内嵌collectionView上传图片效果
---恢复内容开始--- //需要的效果 1.设置window的根视图控制器为一个UITableViewController #import "AppDelegate.h"#imp ...
随机推荐
- Qt-剪切板
ClipBoard 存在的意义 进程间数据共享. 方式 Drag And Drop: clipBoard的拖曳方式 app's ClipBoard 缺点 没有权限管理 在Model View中实现Dr ...
- WHAT?【 $.fn.extend() 】vs【 $.extend() 】
废话不多说,干货来了,转自http://www.cnblogs.com/hellman/p/4349777.html (function($){ $.fn.extend({ test:function ...
- maven插件报错之解决
maven插件报错之解决 用m2eclipse创建Maven项目时报错 maveneclipsebuilddependenciesauthorizationplugins 用m2eclipse创建 ...
- strstr库函数实现
#include<stdio.h> #include<assert.h> char *strstr(char* src,char *sub) { if(src==NULL||N ...
- mac下virtualbox配置全网通
mac下virtualbox实现主机和虚拟机.虚拟机和外网互访的方案 全局添加Host-Only网络 Adapter IPv4 Address:192.168.56.1 IPv4 Network Ma ...
- WPF和Winform的一些界面控件
DevExpressTelerikMahApps.MetroModern UI for WPFModernWPFExtended WPF Toolkit™ Community EditionModer ...
- Linux下的数据监控工具
Vmstat Vmstat,virtual memmory statistics(虚拟内存统计),主要是对操作系统的内存信息.进程状态.cpu活动等进行监视,但是它不能对某个进程进行深入的分析. Pr ...
- Canvas_2
绘制矩形: fillRect(x,y,width,height)===========>绘制一个有填充颜色的矩形strokeRect(x,y,width,height)========>绘 ...
- MyBatis学习-映射文件标签篇(select、resultMap)
MyBatis 真正的核心在映射文件中.比直接使用 JDBC 节省95%的代码.而且将 SQL 语句独立在 Java 代码之外,可以进行更为细致的 SQL 优化. 一. 映射文件的顶级元素 selec ...
- POJ 2104:K-th Number(整体二分)
http://poj.org/problem?id=2104 题意:给出n个数和m个询问求区间第K小. 思路:以前用主席树做过,这次学整体二分来做.整体二分在yr大佬的指点下,终于大概懂了点了.对于二 ...