解决多页面cell刷新数据位置变的问题。

看首页接口(示例)
【https://xxxxssssssss/heal/api/heal/plan/list】
参数:

这个问题产生的背景是:

1.当第一次请求接口产生的20条数据。再添加计划按钮执行后,
要想刷新当前页面为最新数据,以获得当前计划的userplanid来作为用户添加过的唯一标识,
根据这个标识去设置 ➕ 按钮是否显示。这20条数据构成的是第一页,添加后进行刷新数据相当于,上拉刷新请求,参数还是第一页请求20条即可;

{"page_info": {"pageNo": 1,"pageSize": 20,"count": 34},"ret_msg": "","ret_code": "0","page_data": [{"id": "e738c5a9794c480cb74cd102afb8d5fd","planname": "缓解大脑疲劳","plandec": "本方案选用脑户穴、风池穴、络却穴、角孙穴、神庭穴5个穴位。脑户穴和神庭穴是督脉穴位,督脉有分支络肾、贯心,养髓安神;角孙穴是手少阳三焦经的穴位,三焦经有通行元气的功能,元气入脑养髓;足太阳膀胱经脉气的气化功能由络却穴进入颅内保障思维运行的能量供应;风池穴是足少阳胆经的穴位,调用少阳之气支持思维的迅捷灵活运行","planimg": "/heal/userfiles/images/FMT/FMT_head_1242x729_脑部头部疲劳封面.jpg","planimg2": "/heal/userfiles/images/FMT/FMT_head_1242x729_脑部头部疲劳封面.jpg","coursecnt": "3","actcnt": "15","acupointcnt": "15","plantype": "0","nounit": "天","cpdays": "3","cptime": "5","daytime": "2","planlev": "2","senddatetime": "2017-03-23 16:38:05","version": "1.02","myplan": "1","userplanid": "b9e22dd089954cf9811a9c00686296d1","mycpdays": "0","plandeclist": [{"plandecl": "本方案选用脑户穴、风池穴、络却穴、角孙穴、神庭穴5个穴位。脑户穴和神庭穴是督脉穴位,督脉有分支络肾、贯心,养髓安神;角孙穴是手少阳三焦经的穴位,三焦经有通行元气的功能,元气入脑养髓;足太阳膀胱经脉气的气化功能由络却穴进入颅内保障思维运行的能量供应;风池穴是足少阳胆经的穴位,调用少阳之气支持思维的迅捷灵活运行"},{"plandecl": "【推荐频次】\r\n1.每天2次\r\n2.脑紧张疲劳时,可随时使用方案"},{"plandecl": "【按摩要点】\r\n1.身体处于放松状态\r\n2. 按摩力量不要过大,不要弄伤自己,建议使用3分力 \r\n3. 按摩时,手指累了,可以换一个手指继续按摩"},{"plandecl": "【按摩禁忌】\r\n1.有溃破、伤肿的部位,不要伤及破损,可以按摩对侧的位置\r\n2.医嘱建议不适宜按摩的人群"},{"plandecl": "【友情提示】\r\n1.按摩过程中可能出现穴位酸痛、胀痛,这是穴位已经发生瘀赌,应长期坚持按摩,消散瘀赌,从而化解由此累积的疾病隐患\r\n2.有严重头痛、头晕症状的,请及时到医院就诊,查明病因,遵医嘱,积极治疗\r\n3. 本方案可长期使用"}]},{"id": "08bf634acad947e096972321a4a09701","planname": "缓解颈疲劳","plandec": "","planimg": "/heal/userfiles/images/FMT/颈椎.jpeg","planimg2": "/heal/userfiles/images/FMT/颈椎.jpeg","coursecnt": "3","actcnt": "15","acupointcnt": "15","plantype": "0","nounit": "天","cpdays": "3","cptime": "6","daytime": "2","planlev": "2","senddatetime": "2017-02-19 08:34:39","version": "1.03","myplan": "1","userplanid": "15843782c91e4dfda02a0441442fecc5","mycpdays": "0","plandeclist": [{"plandecl": "【说明】\r\n本计划选用“祛风解肌养颈椎”近端取穴方案,5个穴位:大椎穴、风府穴、风池穴、完骨穴、颈百劳。其中大椎穴和风府穴是督脉的穴位,督脉总督一身阳气,滋养颈椎;风池穴、完骨穴是足少阳胆经的穴位,少阳经的开合特点,以强化颈椎的活动功能;颈百劳是经外奇穴,选用拿揉颈百劳的手法,放松颈部的肌肉群;在中华传统文化对人体的认知体系里,风寒的侵袭滞留,是疼痛的重要隐患,风池穴、风府穴的选用,可以祛风消痛"},{"plandecl": "【推荐频次】\r\n1.每天2次\r\n2.颈部紧张、疲劳、疼痛时,可随时使用方案"},{"plandecl": "【按摩要点】\r\n1.颈肩处于放松状态\r\n2. 按摩力量不要过大,不要弄伤自己,建议使用3分力\r\n3. 按摩时,手指累了,可以换一个手指按摩"},{"plandecl": "【按摩禁忌】\r\n1.有溃破、伤肿的部位,不要伤及破损,可以按摩对侧的位置\r\n2.医嘱建议不适宜按摩的人群"},{"plandecl": "【友情提示】\r\n1.按摩过程中可能出现局部酸痛、胀痛,是穴位已经瘀赌,应长期坚持按摩,消散瘀赌,从而化解由此累积的各类隐患\r\n2.有严重颈椎疼痛症状的,请及时到医院就诊,查明病因,遵医嘱,积极治疗"}]},。。。。。。。。

2.当处于第二页的时候,点击添加计划按钮 ➕ 时,
再次请求数据的时候参数如果再是请求第一页的时候的就不行了,
这时要根据当前页currentpage来算需要的数据条数,
因为处于当前页的时候正常是40条数据了,所以这次请求就应传参数为pagesize = 40,
而页码传写死的pageno= 1;

{"page_info": {"pageNo": 1,"pageSize": 40,"count": 34},"ret_msg": "","ret_code": "0","page_data": [{"id": "e738c5a9794c480cb74cd102afb8d5fd","planname": "缓解大脑疲劳","plandec": "本方案选用脑户穴、风池穴、络却穴、角孙穴、神庭穴5个穴位。脑户穴和神庭穴是督脉穴位,督脉有分支络肾、贯心,养髓安神;角孙穴是手少阳三焦经的穴位,三焦经有通行元气的功能,元气入脑养髓;足太阳膀胱经脉气的气化功能由络却穴进入颅内保障思维运行的能量供应;风池穴是足少阳胆经的穴位,调用少阳之气支持思维的迅捷灵活运行","planimg": "/heal/userfiles/images/FMT/FMT_head_1242x729_脑部头部疲劳封面.jpg","planimg2": "/heal/userfiles/images/FMT/FMT_head_1242x729_脑部头部疲劳封面.jpg","coursecnt": "3","actcnt": "15","acupointcnt": "15","plantype": "0","nounit": "天","cpdays": "3","cptime": "5","daytime": "2","planlev": "2","senddatetime": "2017-03-23 16:38:05","version": "1.02","myplan": "0","userplanid": "0","mycpdays": "0","plandeclist": [{"plandecl": "本方案选用脑户穴、风池穴、络却穴、角孙穴、神庭穴5个穴位。脑户穴和神庭穴是督脉穴位,督脉有分支络肾、贯心,养髓安神;角孙穴是手少阳三焦经的穴位,三焦经有通行元气的功能,元气入脑养髓;足太阳膀胱经脉气的气化功能由络却穴进入颅内保障思维运行的能量供应;风池穴是足少阳胆经的穴位,调用少阳之气支持思维的迅捷灵活运行"},{"plandecl": "【推荐频次】\r\n1.每天2次\r\n2.脑紧张疲劳时,可随时使用方案"},{"plandecl": "【按摩要点】\r\n1.身体处于放松状态\r\n2. 按摩力量不要过大,不要弄伤自己,建议使用3分力 \r\n3. 按摩时,手指累了,可以换一个手指继续按摩"},{"plandecl": "【按摩禁忌】\r\n1.有溃破、伤肿的部位,不要伤及破损,可以按摩对侧的位置\r\n2.医嘱建议不适宜按摩的人群"},{"plandecl": "【友情提示】\r\n1.按摩过程中可能出现穴位酸痛、胀痛,这是穴位已经发生瘀赌,应长期坚持按摩,消散瘀赌,从而化解由此累积的疾病隐患\r\n2.有严重头痛、头晕症状的,请及时到医院就诊,查明病因,遵医嘱,积极治疗\r\n3. 本方案可长期使用"}]},。。。。。

3.能理解多少算多少吧;
下边上代码:

/** 记录添加计划操作 */
@property (nonatomic,assign) BOOL isAddPlan;
- (void)loadNewPlan{
###这里这里!!!!!*************************_isAddPlan = NO;NSLog(@"下拉刷新");_page = 0;_pagesize = 20;NSLog(@"下拉更新显示第%d页",_page+1);//下拉刷新更新显示第一页的数据[self requestData:self.tb UP_Refresh:YES];
}
- (void)loadMorePlan{###这里这里!!!!!*************************_isAddPlan = NO;NSLog(@"上拉加载");[self requestData:self.tb UP_Refresh:NO];
}
- (NSDictionary *)Parameters{NSDictionary *parameters = [NSDictionary dictionary];NSString *page = [NSString stringWithFormat:@"%d",_page + 1];NSString *pageSize = [NSString stringWithFormat:@"%d",_pagesize];if (_isAddPlan == YES) {###这里这里!!!!!*************************parameters = @{@"pageNo":@"1",@"pageSize":[NSString stringWithFormat:@"%d",_page*20],@"accesstoken":UserInfoShare.accesstoken};return parameters;}if (!UserInfoShare_accesstoken) {parameters = @{@"pageNo":page,@"pageSize":pageSize};} else {parameters = @{@"pageNo":page,@"pageSize":pageSize,@"accesstoken":UserInfoShare.accesstoken};}return parameters;}
- (void)requestData:(UITableView *)tb UP_Refresh:(BOOL)upRefresh{HLWeakSelf;[[XDHTTPSessionManager shareManager] RequestWithType:XDHttpRequestTypePost UrlString:API_HomeUrl Parameters:[self Parameters] progress:^(NSProgress *progress) {} SuccessBlock:^(id responseObject) {NSLog_responseObject;if (ret_code_success) {if (upRefresh == YES) {//下拉刷新显示第一页的数据weakSelf.dataArraynet = [HLPlanManager mj_objectArrayWithKeyValuesArray:responseObject[@"page_data"]];}else if (upRefresh == NO){//上拉加载NSArray *newPlanArray = [HLPlanManager mj_objectArrayWithKeyValuesArray:responseObject[@"page_data"]];[weakSelf.dataArraynet addObjectsFromArray:newPlanArray];}
###这里这里!!!!!*************************if (_isAddPlan == YES) {} else {_pagesize = [responseObject[@"page_info"][@"pageSize"] intValue];_page_count =[responseObject[@"page_info"][@"count"] intValue];_page = [responseObject[@"page_info"][@"pageNo"] intValue];}}else{//失败if(ret_wrong_accesstoken){[weakSelf checkAccessToken_responseObject:responseObject andSuccess:^{//重新请求[weakSelf requestData:tb UP_Refresh:NO];} andFailer:^{[weakSelf loginoutFromRoot];}];}else if (ret_code_failer){
//                [MBProgressHUD showMessage:ret_msg];}}//                // ==写入文件BOOL isWriteSuess = [[weakSelf.dataArraynet yy_modelToJSONObject] writeToFile:weakSelf.Json_path atomically:YES];NSLog(@"发现计划列表写入文件%@",isWriteSuess ? [NSString stringWithFormat:@"成功 路径是%@",weakSelf.Json_path]:@"失败");upRefresh == YES?[tb.mj_header endRefreshing]:[tb.mj_footer endRefreshing];[tb reloadData];} FailureBlock:^(NSError *error) {upRefresh == YES?[tb.mj_header endRefreshing]:[tb.mj_footer endRefreshing];[tb reloadData];}];}
#pragma mark - <UITableViewDelegate,UITableViewDataSource>
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString *cellID = @"cellName";HLPlanTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];if (cell == nil) {cell = [[[NSBundle mainBundle] loadNibNamed:@"HLPlanTableViewCell" owner:self options:nil] lastObject];}cell.progress.hidden = YES;[cell.addButton addTarget:self action:@selector(cellBtnClicked:event:) forControlEvents:UIControlEventTouchUpInside];cell.addButton.tag  = indexPath.row+100;cell.selectionStyle = UITableViewCellSelectionStyleNone;cell.manager = self.dataArraynet[indexPath.row];return cell;}
- (void)cellBtnClicked:(id)sender event:(id)event
{HLWeakSelf;[XDControl CheckshifouNeedToLoginBlock:^{//去登录HLLoginsViewController *loginVC = [HLLoginsViewController new];loginVC.isShow = YES;[weakSelf presentViewController:loginVC animated:YES completion:nil];} LoginSusess_Or_NoNeedLoginBlock:^{//登录成功  或者不需要登录 回来执行 该执行的 比如这里执行 添加NSSet *touches =[event allTouches];UITouch *touch =[touches anyObject];CGPoint currentTouchPosition = [touch locationInView:weakSelf.tb];NSIndexPath *indexPath= [weakSelf.tb indexPathForRowAtPoint:currentTouchPosition];if (indexPath!= nil){NSLog(@"添加第:%ld行的ID给我的计划列表��",(long)indexPath.row);NSString *addplanid = [weakSelf.dataArraynet[indexPath.row] id];//统计点击行为各属性被触发的次数  统计应用中“添加”事件发生的次数,以及添加的计划名字及id,那么在添加计划的函数里调用:NSDictionary *dict = @{@"planname" : [weakSelf.dataArraynet[indexPath.row] planname], @"id" : addplanid};[MobClick event:@"AddPlanName" attributes:dict];NSDictionary *parameters = @{@"accesstoken":UserInfoShare.accesstoken,@"planid":addplanid};HLWeakSelf;[[XDHTTPSessionManager shareManager] RequestWithType:XDHttpRequestTypePost UrlString:API_addMyplanUrl Parameters:parameters progress:^(NSProgress *progress) {} SuccessBlock:^(id responseObject) {//            responseObject=={//                ret_msg = "wrong access token";//                ret_code = "999"//            }NSLog_responseObject;if (ret_code_success) {//加入计划成功[MBProgressHUD showSuccess:ret_msg];
###这里这里!!!!!*************************_isAddPlan = YES;[weakSelf requestData:weakSelf.tb UP_Refresh:YES];//               UIButton *button =  [self.view viewWithTag:indexPath.row+100];//                button.hidden = YES;}else if(ret_code_failer){[MBProgressHUD showError:ret_msg];//加入计划失败}else if(ret_wrong_accesstoken){[weakSelf checkAccessToken_responseObject:responseObject andSuccess:^{//重新请求[weakSelf cellBtnClicked:sender event:event];} andFailer:^{[weakSelf loginoutFromRoot];}];}} FailureBlock:^(NSError *error) {}];}}];}

iOS tableview的第二页数据刷新特定某个cell数据的解决办法相关推荐

  1. Word中下一页表格无法提到上一页,导致有一大段空白的解决办法

      在用Word填写表格时,有时候会出现下一页的表格无法提到上一页,导致上一页有一大段空白的情况,如下图所示:   出现这个情况的原因是因为下一个表格设置了指定行高,而上一页剩余部分的高度不满足这个指 ...

  2. IOS手机端页面在项目中遇到的一些问题及解决办法

    1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题.解决方案是 ...

  3. Access ADO多连接时数据延迟无法同步无法及时更新的解决办法

    这个问题由来已久,由于不是非常影响项目进度,所以一直没有重视.最近闲来,又遇到此问题,决心仔细研究一番.上网搜了半天,整整半天,没有发现比较通俗易懂的文章,没办法,看看微软的资料,自己动手吧,把这个解 ...

  4. 401错误信息页html,Http 401错误重现实验及解决办法

    根据http协议对状态码的定义,401表明未经受权的访问.在IIS中在401的基础上定义了一系列的子状态码来表明各类不一样状况下未经受权访问的具体缘由. html 401.1 - Logon fail ...

  5. iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法

    http://www.tuicool.com/articles/IfEZre 今天写demo的时候发现, 如果把通过相机获取到的图片,直接进行操作, 比如裁剪, 缩放, 则会把原图片向又旋转90度. ...

  6. 关于oracle导入数据出现字符集问题及一点点解决办法!

    *当我们拿到一个备份的Oracle数据库时,要导入到新的数据库里,有时会出现字符集不匹配的情况,在这里会详谈一些个人的解决办法.文笔不足之处,请大家原谅.* 一.首先我想让大家了解一些基本概念,如下: ...

  7. stata中使用xsmle命令做空间面板数据hausman检验出现3200错误的解决办法

    xsmle gdp gt cz gdzc ersan ur,model(sdm) wmat(Wzhusj) hausman nolog Warning: All regressors will be ...

  8. STM32H7并行读取AD7606数据以及片内AD值不准解决办法

    一.硬件 先了解一下AD7606,16位,单电源,200k采样率,8路,除了贵没有其他缺点,数据相当的稳,一个5V供电,不用运放的情况下采集电压精度可以达到1mv,非常Nice 与单片机相连 单片机 ...

  9. 为什么刚安装的icloud桌面上没有_误删icloud备忘录数据以致手机备忘录被清空的解决办法...

    2020-03-28晚上十点多,小孩(不是我的)玩一个登录了我apple id的ipad,在[icloud→"管理储存空间"→备忘录]这一栏里,把它的数据给删了,其操作如下图所示. ...

  10. Jmeter察看结果树响应数据的中文显示为乱码的解决办法

    问题描述:Jmeter运行结束,察看结果树响应数据的中文显示为乱码 解决办法: 1.找到Jmeter安装目录 bin\jmeter.properties文件,打开文件. 2.查找sampleresul ...

最新文章

  1. 2.c语言编译预处理,c语言第03章-编译预处理2.ppt
  2. Windows 10企业批量部署实战之WDS安装
  3. 新型机器学习算法:正则化理解
  4. 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_Excel基础—文件菜单之设置信息...
  5. Hadoop下水环境模拟集群运算模式
  6. UVa 10394-Twin Primes
  7. F5 虚拟机下载 和 试用Key 申请
  8. 的稳定性 linux_Linux系统KDE桌面,打造最接近Windows的界面环境!不用才后悔
  9. 强化学习 —— 资源清单
  10. #VSTS日志# Xamarin构建支持和一大波更新
  11. 一个非计算机专业的 软考初级 程序员考试之路
  12. educoder第9关:原码一位乘法器设计
  13. html 图片浮层,纯css图片悬浮代码(expression)
  14. word如何设置页眉横线的磅数
  15. android LBS模式,android: 如何开启webview的LBS功能
  16. 墨子科技成果是计算机,近年来取得了哪些科技成就_现代史_我爱历史网
  17. 【ESP 保姆级教程】 疯狂传感器篇 —— 案例:ESP8266 + MQ3酒精传感器 + webserver(局域网内曲线变化图)+ 自定义微信告警
  18. python时间序列分析航空旅人_大佬整理的Python数据可视化时间序列案例,建议收藏(附代码)...
  19. 安的广厦千万间 天下寒士尽欢颜
  20. linux开启终端窗口快捷键

热门文章

  1. Java将文件转换成二维码
  2. 读书狂想之《平凡的世界》不平凡的人生
  3. 操作系统进程线程区别、并发和并行、内存和外存
  4. html5创建网站的步骤,自己建网站的流程是什么,自己建网站需要什么步骤?
  5. 【八种基本分析方法】
  6. Web3对于我们普通人意味着什么?
  7. reverse-polish-notation
  8. OpenMMLab全景图
  9. ios设置阴历或农历生日(以iPhone X为例)
  10. Java学多久可以接项目_自学Java,多久可以找到工作?