1. 实现数据模型缓存
可以用NSKeyedArchiver类来实现数据模型缓存。为了把模型对象用NSKeyedArchiver归档,模型类需要遵循NSCoding协议。
. 应该用哪种缓存技术
在众多可以本地保存数据的技术中,有三种脱颖而出:URL缓存、数据模型缓存(利用NSKeyedArchiver)和Core Data。
假设你正在开发一个应用,需要缓存数据以改善应用表现出的性能,你应该实现按需缓存(使用数据模型缓存或URL缓存)。另一方面,如果需要数据能够离线访问,而且具有合理的存储方式以便离线编辑,那么就用高级序列化技术(如Core Data)。
缓存机制的逻辑流如下所示。
视图控制器在归档文件MenuItems.archive中检查之前缓存的项并反归档。
如果MenuItems.archive不存在,视图控制器调用方法从服务器获取数据。
如果MenuItems.archive存在,视图控制器检查归档文件的修改时间以确认缓存数据有多旧。如果数据过期了(由业务需求决定),再从服务器获取一次数据。否则显示缓存的数据。
接下来,把下面的代码加入viewDidDisappear方法可以把模型(以NSKeyedArchiver的形式)保存在Library/Caches目录中。
视图控制器的viewWillDisappear:方法中缓存数据模型的代码片段

最新文章

  1. win7 64位下 mongodb安装及命令运行
  2. typedef 函数指针 数组 std::function
  3. ES6 标准部分应用
  4. Sql Server 2008 数据库附加失败提示9004错误解决办法
  5. Android permission
  6. Java 中String常用方法
  7. winform form
  8. Java Executors(线程池)
  9. fpm打包redis3.0.7
  10. 获取JAVA对象占用的内存大小
  11. jQuery实现购物车多物品数量的加减+总价+删除计算
  12. uva 471 - Magic Numbers
  13. 漫谈android系统(4)bring up panel
  14. (转)60s快速分析Linux性能
  15. [T-ARA N4/二段横踢][Can We Love]
  16. 螺旋图 comet3 (comet) 不同轴的圆周运动图
  17. NGUI 降低drawcall
  18. [py]可迭代对象-求最值
  19. c语言枚举类型变量的作用
  20. css学习-css引入&css选择

热门文章

  1. UDP端口启动后一段时间无法接收到数据
  2. WebMagic 启动例子报错
  3. 在mac上显示网速的软件——iStat Menus 5:
  4. httpd的prefork、worker、event
  5. java 时间转换去杠
  6. 【PHP】Laravel将HTML实体转换回普通字符
  7. Git----将本地代码推送到远程仓库
  8. python继续函数-练习(2017-8-3)
  9. 生产Web架构优化方案(动态转静态)
  10. Hadoop学习(一) Hadoop是什么