iOS-数据持久化
持久化:
将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。
持久化数据的方式:
- 文件存储:
- NSUserDefaults
- 文件 :
plist
Write写入方式:[data writeToFile:FileName atomically:YES];
- 【iOS-数据持久化】归档 (NSKeyedArchiver)
- 数据库:
- 数据库(SQLite、CoreData、第三方类库FMDB)
沙盒:
iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”。
沙盒就是一个文件夹,目录结构如下:
- AppName.app "应用程序包"
- Documents
- Library
Caches
Preferences - tmp
NSString *path = [[NSBundle mainBundle] bundlePath];
NSLog(@"%@", path);
Documents: 最常用的目录,iTunes同步该应用时会同步此文件夹中的内容,适合存储重要数据。
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);
Library/Caches: iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);
Library/Preferences: iTunes同步该应用时会同步此文件夹中的内容,通常保存应用的设置信息。
tmp: iTunes不会同步此文件夹,系统可能在应用没运行时就删除该目录下的文件,所以此目录适合保存应用中的一些临时文件,用完就删除。
NSString *path = NSTemporaryDirectory();
NSLog(@"%@", path);
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 使用协程爬取网页,计算网页数据大小
- Java|Java基础——数组
- Python数据分析(一)(Matplotlib使用)
- Jsr303做前端数据校验
- Spark|Spark 数据倾斜及其解决方案
- 数据库设计与优化
- 爬虫数据处理HTML转义字符
- 数据库总结语句
- MySql数据库备份与恢复