博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS-缓存
阅读量:5313 次
发布时间:2019-06-14

本文共 638 字,大约阅读时间需要 2 分钟。

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

转载于:https://www.cnblogs.com/WJJ-Dream/p/5786466.html

你可能感兴趣的文章
TerminateProcess结束进程(包括进程信息遍历)
查看>>
个人日报0629
查看>>
并发编程 - 进程 - 1.开启子进程的两种方式/2.查看pid/3.Process对象的其他属性或方法/4.守护进程...
查看>>
安卓项目R,java文件不能自动更新,clean之后,R.java消失
查看>>
使用Cobertura做代码覆盖率测试
查看>>
小解字典排序问题
查看>>
用C#实现C/S模式下软件自动在线升级
查看>>
VirtualBox环境下调高Ubuntu系统分辨率
查看>>
2016年11月笔记
查看>>
GSS1 A - Can you answer these queries I
查看>>
Java基础——字符编码
查看>>
2018icpc南京现场赛-I Magic Potion(最大流)
查看>>
.Net内存泄露原因及解决办法
查看>>
Day2----hiddenMeau
查看>>
保留你的dSYM文件
查看>>
将iPhone5s中的相片批量下载到电脑中
查看>>
union和union all
查看>>
3.5 [ Enterprise Library ]注入模型设计
查看>>
网易首页导航封装类优化
查看>>
[转]Java连接各种数据库的方法
查看>>