最近才發現 Tumblr 開源了 TMCache,這是它們用在 iOS 客戶端的緩存程序,能夠很方便地保存和讀取緩存,線程安全,基本徹底符合我對簡單緩存的需求。只要是實現了 NSCoding
協議的對象,都能保存到磁盤中。git
而 Github 開源的 Mantle,則提供了一系列便捷的方法映射數據到對象:github
MTLManagedObjectAdapter
,NSManagedObject
和 MLTModel
能夠互相轉換。MTLJSONAdapter
,JSON 對象和 MLTModel
能夠互相轉換。MLTModel
實現了 NSCoding
協議, 能夠直接用 NSKeyedArchiver
保存到磁盤,或用 NSKeyedUnarchiver
從新讀取文件到內存中。這樣一來,讀取服務器接口數據的流程能夠是這樣:緩存
MTLJSONAdapter
轉換 JSON 數據爲 MLTModel
子類的對象。TMCache
保存該對象到緩存中。TMCache
得到緩存。同時使用這兩個項目的話,能夠大大地簡化保存緩存的工做(總是要想保存在哪裏是一件很頭疼的事)。可是對於須要讀取大量數據的應用,仍是須要配合 Core Data 一塊兒用,不然性能會是個問題。安全