iOS 沙盒目录( 文件保存路径)

Documents

需要保存由"应用程序本身"产生的文件或者数据,例如:游戏进度、涂鸦软件的绘图。目录中的文件会被自动保存在 iCloud。

Caches

1.保存临时文件,"后续需要使用",例如:缓存图片,离线数据(地图数据)。

2.系统不会清理 cache 目录中的文件。

3.就要求程序开发时,"必须提供 cache 目录的清理解决方案"

tmp

1.保存临时文件,"后续不需要使用"。

2.tmp 目录中的文件,系统会自动清理

3.重新启动手机,tmp 目录会被清空

4.系统磁盘空间不足时,系统也会自动清理

Preferences

用户偏好,使用 NSUserDefault 直接读写!如果要想数据及时写入磁盘,还需要调用一个同步方法



Caches和tmp的区别:caches呢就是缓存的,例如下载一些文件啊,有些pdf或者其他图片挺大的,可以放在这里,应用下次打开的时候还会在的。而tmp下次打开很有可能被自动删除了,这是临时文件夹

Caches和documents区别就在于:cheches文件夹不会在你备份手机数据的时候上传到iTunes上去,documents则会被备份上传,所以documents放占用空间小的重要数据,备份数据就很轻松caches放的是比较大的文件,所以就不备份,太大了不容易上传。



//获取沙盒根目录

NSString*directory =NSHomeDirectory();

//获取Documents路径

NSArray*paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*path = [paths objectAtIndex:0];

//获取Caches路径

NSArray*paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);

NSString*path = [paths objectAtIndex:0];

//获取tmp路径

NSString*tmp =NSTemporaryDirectory();


欢迎各位过路神仙指出错误。

你可能感兴趣的:(iOS 沙盒目录( 文件保存路径))