簡體   English   中英

具有大型JSON數據的UITableView字母索引

[英]UITableView alphabetical index with large JSON data

我有一個表來加載來自Web服務的數據,該Web服務返回一堆JSON數據。 當用戶向下滾動時我加載了更多數據,因為我查詢的數據庫保存了相當多的數據。

我的問題是 - 在這樣的表格上實施右側字母列表是否可行?如何做到這一點? 如果我加載所有數據然后在本地對它們進行排序,填充索引並每隔一段時間緩存數據,這肯定是可能的。 但是,如果這將是10K行或更多數據,那該怎么辦呢? 也許在應用程序首次啟動時加載此數據是一種選擇。

所以在性能和可用性方面,有沒有人有什么建議可以做什么?

我不認為您應該下載所有數據來制作這些索引,這會減少刷新時間並可能導致內存問題。

但是,如果您認為索引可以產生很大的不同,那么您可以在服務器API中添加一些功能。 我會添加一個不同的API調用,如get_indexes 或者甚至我會添加POST參數get_indexes ,它會為任何具有此參數集的調用添加索引數組。

當用戶點擊索引而沒有任何下載數據或用戶只是強調你的應用程序快速索引上下滾動時,你應該准備好處理案例。

首先看看數據下載有多大。 如果服務器可以gzip數據,它可能會非常小 - 由於重復的密鑰,JSON拉得很好。

如果它太大,我建議修改服務器,如果可能,讓你指定一個起始字母。 這樣,如果用戶點擊索引中的“W”,您應該能夠請求所有以“W”開頭的項目。

從服務器獲取總記錄數也很有幫助,這樣您就可以提前知道表中有多少行。 我還會為每個未知行返回一個“loading ...”字符串,直到實際數據結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM