我有一個架構類型的問題給你。我正在創建一個時間輸入iPhone應用程序。我有一個用於輸入數據的選項卡,另一個用於按星期和按月顯示摘要數據的選項卡。我來自網絡背景,所以我傾向於在每次需要數據時向服務器發回請求。對iphone新手我不確定每次點擊摘要選項卡時(通過viewWillAppear)是否提出彙總數據請求是個好主意。摘要數據是JSON,所以它相當輕量級。摘要數據不是靜態的,因爲它隨用戶輸入數據而變化。那麼,什麼時候應該檢索數據的最佳做法?有沒有更好的方法來知道何時檢索數據?iphone檢索摘要頁面的json數據的最佳實踐
0
A
回答
3
我不認爲這是一個好主意。您至少應該緩存數據,以便即使沒有可用的網絡連接,用戶也可以訪問條目。
您可能希望將數據結構鏡像到核心數據模型中,並在適當的時間通過調用服務器來更新它。如果你也在實現服務器端,我會以一種允許服務器僅發送已更改或尚未下載的條目的方式對我的請求建模。
編輯:
爲了解釋這個進一步:即使數據是輕量級的,你不斷產生的流量沒有充分的理由。有些人有數據計劃,衡量流量的時間,而不是數量,他們會真正支付他們使用您的應用程序的每一秒...
0
看看ASIHTTPRequest框架,如果你還沒有。它支持排隊請求(使用NSOperationQueue
或ASINetworkQueue
)。您可以排隊一些請求,然後在NSTimer
回調中調用[queue go]
。
以反映網絡何時處於活動狀態(網絡指示符)的方式實現您的用戶界面,並在新的json數據可用時異步更新UI元素。
也嘗試使用緩存作爲烤麪包機建議(閱讀關於ASIDownloadCache
等)。
相關問題
- 1. MVC中摘要頁腳(等)的最佳實踐
- 2. 的最佳實踐IPhone
- 3. Json數據格式最佳實踐
- 4. 在一個站點的多個頁面中持久地包含json檢索的數據......最佳實踐?
- 5. iPhone應用程序:存儲/檢索靜態數據的最佳實踐
- 6. 在REST API中檢索相關數據的最佳實踐
- 7. 在頁面間共享數據的最佳實踐
- 8. 檢索字典值最佳實踐
- 9. 數據層最佳實踐
- 10. 數據庫最佳實踐
- 11. 搜索結果分頁,最佳實踐
- 12. Iphone動畫最佳實踐
- 13. ASP.net ajax:需要最佳實踐 - 更新頁面上的步驟
- 14. 最佳實踐:iAds到iPhone的實施
- 15. JSON安全最佳實踐?
- 16. Facebook頁面 - 最佳實踐流程
- 17. 加載必要的JSON數據的最佳實踐:jquery的$(document).ready()鉤子?在頁面的<HEAD>?
- 18. 最佳實踐要求
- 19. 最佳實踐要求
- 20. Asp.Net分頁最佳實踐
- 21. 處理API SDK的JSON數據的最佳實踐
- 22. 損壞的數據最佳實踐
- 23. Cognos元數據的最佳實踐
- 24. 數據遷移的最佳實踐
- 25. 類和數據庫的最佳實踐
- 26. 最佳實踐/ MariaDB的數據庫
- 27. 存儲數據的最佳實踐
- 28. 版本數據庫的最佳實踐
- 29. iPhone上的最佳SQLite實踐
- 30. UIKeyboard通知的最佳實踐 - iPhone SDK
更不用說,當你在移動數據連接時,延遲可能是最大的成本,所以返回的數據包很小的事實實際上並沒有多大好處。所以,是的,我同意Toastor至少有一個本地緩存是最好的前進方向。 – Tommy 2011-03-02 14:50:57
感謝您的反饋意見。這給了我很多想法。 – 2011-03-02 15:34:01
想過這個之後,將「摘要」JSON數據結果保存到文件中,然後在數據更改時重寫「摘要」文件是否合適?無論何時提交,我都可以通過異步調用來獲取摘要數據。通過這種方式,如果點擊摘要選項卡,將會載入「摘要」文件的內容(如果它存在),否則將獲取它並創建摘要文件。 – 2011-03-02 19:48:12