最近的APP要做緩存的功能,我之前做的都是簡單的緩存一頁的數據,這次老大說需求的把項目中的圖片緩存下來,最好能做到斷網之后還可以查看的境界,這你難為了我!不過還是要做的!
首先,我理清了以下思路:
1.將responseObject里獲取的json數據通過model層解析之后存到一個數組中。直接對數組進行操做。
2.因為存在數組中的時解析過的數據所以可以通過這些數據進行查詢。
3.oc里對于數組的操作用的[self.testarray removeObject:xxx];
我想到了用SQLite來保存數據,但是卡在了一個問題上,當我要保存數據中的圖片時候,我必須要先把圖片從網下下載轉換成data來下,然后才可以保存到數據庫當中,當我要顯示數據的時候,我要從數據庫里拿到對應的圖片的data類型轉為圖片再顯示出來,這樣大大占用了內存,且效率不是很高!
然后我想到了用歸檔來實現緩存,也遇到了問題,主要是保存數據的時候挺簡單,但是取數據的時候就難了,因為無法取到分頁的數據展示在界面上!這一個問題又困擾了我好久(水平不夠吧!)。
最終,我想到了一個比較好的方法,我用SQLite來保存普通的數據,包括id、標題、圖片的URL等,然后再用歸檔的方式來保存下載的圖片,這樣一來,就實現了怎樣離線緩存數據的功能!
我用SQLite和這個庫 實現圖片緩存然后完美實現離線緩存!
本人攻城獅一只:
愛好閱讀,有一個寫作的美夢,喜歡乒乓球,游泳,旅游,每天過著充實而忙碌的生活!
2016年沒啥愿望,存錢還房貸,寫50篇讀書筆記和技術筆記就好!
喜歡我的文字,就關注我吧,希望能共同進步