原理是重定向技术 把程序生成和修改的文件定向到自身文件夹中 沙盒机制下 每个程序之间的
文件夹不能相互访问
应用程序之间的访问需要权限
应用程序中所有的非代码文件都保存在沙盒中 比如图片,声音等
共有三个文件夹 分别是 Ducuments/Library/tmp
<Application_Home>/Ducuments保存程序本身生产的文件数据 itunes备份会恢复
<Application_Home>/Library/Caches 应用程序运行时可以重新获取的需要持久化的数据 比如新闻图片文字之类的 itunes备份不会恢复
<Application_Home>/Library/Preferences 创建偏好设置文件 是UserDefaults设置数据的路径 UserDefaults保存本地设置的时候 是根据时间戳进行保存的 所以调用方法后可能没有保存 程序就终止了 所以需要进行同步操作 加 synchronize
<Application_Home>/Library/tmp 此目录保存应用程序运行时临时的数据 应用程序没有运行时 系统可能清除该目录的数据
//Home目录
NSString *homeDirectory = NSHomeDirectory();
//Document目录 documents (Documents)
NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path = [paths objectAtIndex:0];
//Libaray目录 various documentation, support, and configuration files, resources (Library)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
NSString *path = [paths objectAtIndex:0];
//Cache目录 location of discardable cache files (Library/Caches)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString *path = [paths objectAtIndex:0];