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];

? ? }

?如果請求的數據的數量與總量相等就顯示沒有更多的數據,若小于總量就顯示點擊或上拉加載更多的數據。

轉載于:https://www.cnblogs.com/jianbo-su/p/5624167.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271536.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271536.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271536.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux ctrlc 退出循環_linux按行讀取 (while read line與forloop)

在linux下一般用while read line與for循環按行讀取文件。這兩種方法有什么區別呢&#xff1f;現有如下test.txt文件&#xff1a;1while read linewhile read line; do echo $linedone < test.txt輸出結果與上圖一致。這里也可以寫為&#xff1a;cat test.txt | while read …

計算機系統基礎:計算機可靠性知識筆記

1、計算機可靠性介紹 計算機的硬件故障通常都是由于元器件失效造成的。元器件的可靠性分為三個階段&#xff1a;開始階段元器件處于不穩定階段失效率比較高、第二階段是正常工作階段&#xff0c;失效率最低、第三階段元器件開始老化&#xff0c;失效率就又開始提高。又稱為“浴…

python時間計算_python datetime庫使用和時間加減計算

datetime庫使用 一、操作當前時間 1.獲取當前時間 >>> importdatetime>>> printdatetime.datetime.now()2019-07-11 14:24:01.954000 時間格式化輸出&#xff1a; >>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")2019-…

桌面計算機打開不了怎么辦,電腦桌面上的所有東西都打不開了 怎么處理

1、如果各分區下帶autorun.inf一類的隱藏文件&#xff0c;刪除后最好重新啟動電腦。2、在文件類型中重新設置打開方式(以XP為例)打開 我的電腦&#xff0d;&#xff0d;工具&#xff0d;&#xff0d;文件夾選項&#xff0d;&#xff0d;文件類型&#xff0c;找到“驅動器”或“…

原生js實現京東商城樓梯效果

這個可能有些兼容問題和小bug,新手寫的不完善 歡迎指出 <!DOCTYPE html> <html> <head><title></title><meta charset"utf-8" /><style type"text/css">*{margin: 0px;padding: 0px;list-style: none;}#header{…

IDEA云行項目提示Error: java: OutOfMemoryError

idea運行項目提示如下 解決方法: 調整一下Compiler下面的Compiler Process heap size 參數&#xff0c;默認的是700。如果2048還不能解決問題&#xff0c;試著將它調得更大一些吧&#xff0c; 修改為2048 修改后運行成功

常見的BIOS硬盤故障現象及急救措施

硬盤是電腦的數據倉庫&#xff0c;是最為重要的存儲設備&#xff0c;由BIOS直接管理。如果硬盤出現故障&#xff0c;一般情況下系統通常會顯示一些提示信息&#xff0c;說明問題所在。下面&#xff0c;將一些常見的硬盤故障信息向大家一一介紹。1 C&#xff1a;Drive Failure …

js var是什么類型_JS變量的執行環境和生命周期

溫故而知新&#xff0c;這些JS基礎知識你都知道嗎&#xff1f;今天和大家分享的是 JavaScript 中有關變量的知識&#xff0c;希望這篇文章能讓你對JS中的變量有新的認識.目錄&#xff1a;變量的執行環境&#xff08;執行上下文&#xff09;執行上下文的生命周期創建變量對象變量…

網絡中不能顯示全部計算機,win10家庭版局域網中計算機設備無法完全顯示的解決方法...

許多用戶都喜歡通過局域網來共享一些文件等&#xff0c;打開局域網就可以看到所有共享的計算機&#xff0c;然而有不少win10家庭版用戶卻發現局域網中只能看到幾臺計算機設備&#xff0c;無法完全顯示&#xff0c;該怎么辦呢&#xff0c;現在為大家講解一下win10家庭版局域網中…

java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets (jsoup配合htmlunit 爬取異步加載的網頁遇到的)

最近用jsoup配合htmlunit 爬取異步加載的網頁運行代碼的時候,報錯java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets 報錯截圖如下 解決措施: 1:common-fileupload 1.3.1的版本依賴的commons-io 2.2&#xff0c;而htmlunit的jar依賴的是common-io 2.4 htmlunit…

echarts 3d地球 背面光線太暗_新技術:多波長光源,同時3D打印多種光敏樹脂材料...

如今&#xff0c;光固化3D打印技術已經被廣泛的采用&#xff0c;在齒科、首飾、手辦等領域&#xff0c;然而如上圖一樣的常規光固化3D打印機&#xff0c;一次仍然只能打印一種材料。 △FDM技術類型的3D打印機可以通過增加噴頭數量來實現多色或者多種材料同時打印&#xff0c;圖…

2016-6-28 工作總結

今天是軟件工程課設開始的第一天。經過一早上聽老師的課程說明與用戶反饋的講解&#xff0c;我可以看得出老師對于這次課程設計的質量有著很高的期待與嚴格的要求&#xff0c;不再允許有渾水摸魚的現象發生&#xff0c;我想&#xff0c;從某種程度上來講&#xff0c;是一種好事…

計算機系統基礎:計算機性能評價知識筆記

1、計算機性能常用的性能評測方法 1.1 時鐘頻率 計算機的時鐘頻率可以反映出機器的運行速度。一般主頻越高&#xff0c;速度越快。 1.2 指令執行速度 加法指令執行速度是衡量計算機性能指標的重要指標之一。 1.3 等效指令速度法 隨著計算機指令系統發展&#xff0c;種類越來越多…

astc貼圖格式是什么意思_c4d配合AEe3d導入c4d模型貼圖及插件安裝所有流程

所有使用的軟件及插件&#xff0c;分享給大家&#xff0c;需要軟件或者插件的可以留言我&#xff0c;免費分享給大家&#xff0c;其實也可以網上下載到&#xff0c;就是有的版本和相應需要的插件不兼容和支持&#xff0c;。不少小伙伴用c4d做模型&#xff0c;做好后到底怎么玩&…

html5做文字顏色漸變代碼,神奇!js+CSS+DIV實現文字顏色漸變效果_javascript技巧

本文實例為大家分享了DIVCSSJS實現的文字顏色漸變效果&#xff0c;供大家參考&#xff0c;具體內容如下下面是 CSS 部分代碼&#xff1a;body{ font:12px/1.5 Microsoft Yahei;}h3{ padding:10px; margin:0; background-color:#999; color:#fff; font:16px/1.5 Microsoft Yahei…

前大燈是近光燈還是遠光燈_汽修案例:長安福特翼博前大燈間歇自動點亮

點擊↑汽修案例關注置頂&#xff0c;獲得正時大全一輛行駛里程約2300km的2017年長安福特翼博。客戶反映&#xff1a;該車在行駛過程中前大燈間歇出現自動點亮的故障現象。故障現象出現時大燈點亮與否不受大燈開關控制&#xff0c;如圖1所示。故障診斷&#xff1a;車輛來店報修時…

commons-httpclient 和 httpclient 區別

commons-httpclient 和 httpclient 區別 項目里的pom中&#xff0c;里面有這么兩個包依賴。 <dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version> </depend…

計算機基礎:多媒體基礎知識筆記

1、媒體的定義 媒體包括兩面&#xff1a; 1、物理載體&#xff1a;比如磁盤、光盤、磁帶以及相關的播放設備。 2、信息載體&#xff1a;也就是信息的表現形式&#xff0c;比如文字、聲音、圖像、動畫、視頻等。CCITT定義的存儲媒體和表示媒體。 2、媒體的分類 1、感覺媒體&…

gnuradio上怎么使用python文件_使用Python從PDF文件中提取數據

前言數據是數據科學中任何分析的關鍵&#xff0c;大多數分析中最常用的數據集類型是存儲在逗號分隔值(csv)表中的干凈數據。然而&#xff0c;由于可移植文檔格式(pdf)文件是最常用的文件格式之一&#xff0c;因此每個數據科學家都應該了解如何從pdf文件中提取數據&#xff0c;并…

Attach Volume 操作(Part I) - 每天5分鐘玩轉 OpenStack(53)

上一節我們創建了 volume&#xff0c;本節討論如何將 volume attach 到 Instance&#xff0c;今天是第一部分。 Volume 的最主要用途是作為虛擬硬盤提供給 instance 使用。Volume 是通過 Attach 操作掛載到 instance 上的。本節我們就來詳細討論 Cinder 是如何實現 Attach 的。…