TMCache + Mantle

最近才发现 Tumblr 开源了 TMCache,这是它们用在 iOS 客户端的缓存程序,能够很方便地保存和读取缓存,线程安全,基本彻底符合我对简单缓存的需求。只要是实现了 NSCoding 协议的对象,都能保存到磁盘中。git

而 Github 开源的 Mantle,则提供了一系列便捷的方法映射数据到对象:github

  • 使用 MTLManagedObjectAdapterNSManagedObjectMLTModel 能够互相转换。
  • 使用 MTLJSONAdapter,JSON 对象和 MLTModel 能够互相转换。
  • 基类 MLTModel 实现了 NSCoding 协议, 能够直接用 NSKeyedArchiver 保存到磁盘,或用 NSKeyedUnarchiver 从新读取文件到内存中。

这样一来,读取服务器接口数据的流程能够是这样:缓存

  1. 访问接口,得到 JSON 数据。
  2. 使用 MTLJSONAdapter 转换 JSON 数据为 MLTModel 子类的对象。
  3. 使用 TMCache 保存该对象到缓存中。
  4. 回调请求数据的对象。
  5. 下次再请求数据时,请求 TMCache 得到缓存。

同时使用这两个项目的话,能够大大地简化保存缓存的工做(总是要想保存在哪里是一件很头疼的事)。可是对于须要读取大量数据的应用,仍是须要配合 Core Data 一块儿用,不然性能会是个问题。安全

相关文章
相关标签/搜索