iOS 沙盒文件路径获取

1,主目录(沙盒的路径)

NSString *homeDir = NSHomeDirectory(); 

2,Documents路径

  1. 第一种获取方法

    • Documents跟用户个人有关的文档,iTunes、iCloud可以”备份”手机 -> 自动备份Documents目录中的文件
    • 保存应用程序自身生成的数据文件,从网络上下载的文件,不要保存在此文件夹中!
    NSString *docDir1 = [homeDirstringByAppendingPathComponent:@"Documents"];    
    NSLog(@"%@", docDir1);  
  2. 第二种获取方法

    • 专业方法,在OC开发中,一般如果遇到使用函数,这个函数通常是iOS和MAC通用的!
    • 苹果是闭源的系统为了防止苹果调整文档目录的名称,使用下面方法
    /**     参数     
    1. NSDocumentDirectory搜索路径的类型     
    2. NSUserDomainMask   在iOS上固定的     
    3. 是否展开波浪号        YES     
    */    
    NSString *docDir2 = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)lastObject];    
    NSLog(@"%@", docDir2);
  3. 容易混淆的获取方法

    • 默认情况下,Documentation是不存在的,如果要使用,需要自己创建!
    • 如果没有创建这个目录,往其中写文件,iOS不会报任何错误!
    NSString *errorDir = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask,YES)lastObject];   
    NSLog(@"%@", errorDir);

3,Caches路径

  • Caches缓存目录,通常保存从网络下载的文件,提供用户离线观看,重新启动,不会被清空
  • 程序员需要提供清理缓存的功能:包括程序清理,检查过期数据,同时提供用户手动清理缓存的操作!
NSString *cacheDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES)lastObject];   
NSLog(@"%@", cacheDir);

4,tmp路径

  • tmp目录,通常保存从网络上下载的文件,不需要持久保存,手机重新启动,就会清空
NSString *tmpDir =NSTemporaryDirectory();    
NSLog(@"%@", tmpDir);

5,Preferences路径

  • Preferences偏好设置目录,保存手机常用设置信息,用户的个人信息,例如用户名,密码
  • 直接使用setXXX方法赋值即可,无需获得路径
NSUserDefaults *defaults = [NSUserDefaultsstandardUserDefaults];        
[defaults setObject:@"rose"forKey:@"UserName"];    
[defaults setBool:YESforKey:@"AutoLogin"];   
  • 默认情况下,往偏好设置保存数据,更新的非常慢,如果需要及时保存,需要使用一个同步方法
[defaults synchronize];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值