iOS开发ios实用开发技巧

沙盒文件目录

2016-11-17  本文已影响28人  不进则退
屏幕快照 2016-11-17 15.33.12.png

默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件

Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录。保存需要持久化的数据,例如游戏应用可以将游戏存档保存在该目录;

Library:存储程序的默认设置或其它状态信息;

Library/Preferences文件夹:偏好设置,通过NSUserDefaults类存取该目录下的设置信息;可以存储用户是否登陆,是否记住密码,不需要关心文件名;

Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除,保存需要持久化的数据,体积大,非重要的数据。

tmp:存放临时文件的地方。

iTunes在与iPhone同步时,备份所有的Documents和Library文件。
iPhone在重启时,会丢弃所有的tmp文件。

// 获取程序的Home目录
    NSString *homeDirectory = NSHomeDirectory();
// 获取document目录
    NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
// 获取Library目录
    NSString *library = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
// 获取Cache目录
    NSString *cache = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
// 获取tmp目录
    NSString *temp = NSTemporaryDirectory();
上一篇下一篇

猜你喜欢

热点阅读