iOS-缓存
2024-09-28 03:15:16
1. 实现数据模型缓存
可以用NSKeyedArchiver类来实现数据模型缓存。为了把模型对象用NSKeyedArchiver归档,模型类需要遵循NSCoding协议。
. 应该用哪种缓存技术
在众多可以本地保存数据的技术中,有三种脱颖而出:URL缓存、数据模型缓存(利用NSKeyedArchiver)和Core Data。
假设你正在开发一个应用,需要缓存数据以改善应用表现出的性能,你应该实现按需缓存(使用数据模型缓存或URL缓存)。另一方面,如果需要数据能够离线访问,而且具有合理的存储方式以便离线编辑,那么就用高级序列化技术(如Core Data)。
缓存机制的逻辑流如下所示。
视图控制器在归档文件MenuItems.archive中检查之前缓存的项并反归档。
如果MenuItems.archive不存在,视图控制器调用方法从服务器获取数据。
如果MenuItems.archive存在,视图控制器检查归档文件的修改时间以确认缓存数据有多旧。如果数据过期了(由业务需求决定),再从服务器获取一次数据。否则显示缓存的数据。
接下来,把下面的代码加入viewDidDisappear方法可以把模型(以NSKeyedArchiver的形式)保存在Library/Caches目录中。
视图控制器的viewWillDisappear:方法中缓存数据模型的代码片段
最新文章
- win7 64位下 mongodb安装及命令运行
- typedef 函数指针 数组 std::function
- ES6 标准部分应用
- Sql Server 2008 数据库附加失败提示9004错误解决办法
- Android permission
- Java 中String常用方法
- winform form
- Java Executors(线程池)
- fpm打包redis3.0.7
- 获取JAVA对象占用的内存大小
- jQuery实现购物车多物品数量的加减+总价+删除计算
- uva 471 - Magic Numbers
- 漫谈android系统(4)bring up panel
- (转)60s快速分析Linux性能
- [T-ARA N4/二段横踢][Can We Love]
- 螺旋图 comet3 (comet) 不同轴的圆周运动图
- NGUI 降低drawcall
- [py]可迭代对象-求最值
- c语言枚举类型变量的作用
- css学习-css引入&;css选择