• SandBox+NSBundle


    1、iOS的文件系统
    1.1、SandBox(沙箱、沙盒)
    在iOS中,任何一个App都存放在自己的一个称之为SandBox中
    1)SandBox的组成
    a、Bundle Container:放应用程序的Bundle(包)
    b、Data Container:
         Documents:用户的数据基本都会放在这里,其中数据会备份到iCloud或iTunes
         library:缓存数据、下载数据…,也会备份
         library/Caches:缓存数据,不会备份
         tmp:
     
    - (NSString *)pathForResource:(NSString *)name
                           ofType:(NSString *)extension
     
    NSFileHandle
     
    //获取AppSandbox路径
    NSString *sandboxPath = NSHomeDirectory();
    NSLog(@"%@", sandboxPath);
    //获取Documents路径
    NSString *doc = [sandboxPath stringByAppendingPathComponent:@"Documents"];
    NSLog(@"Doc:%@", doc);
    //另一种获取Documents路径
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMaskYES);
    doc = [paths firstObject];
    简:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMaskYESfirstObject]
    NSLog(@"Doc:%@", doc);
    //获取Library路径
    NSString *lib = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectoryNSUserDomainMaskYESfirstObject];
    NSLog(@"%@", lib);
    //获取Libary下的Caches目录
    NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectoryNSUserDomainMaskYESfirstObject];
    NSLog(@"caches:%@", caches);
    //获取临时目录tmp
    NSString *tmp = NSTemporaryDirectory();
    NSLog(@"tmp:%@", tmp);
     
    获取应用程序本身的路径:NSBundle类
    此类的对象代表一个资源包:
    应用程序包。main bundle
      其他资源包, 图片资源...
    //如何获取应用程序本身的路径
    NSBundle *mainBundle =[NSBundle mainBundle];//mainBundle对象代表应用程序本身的内容
    NSString *path = [mainBundle pathForResource:@"a" ofType:@"png"];
    NSLog(@"path:%@", path);
    //获取URL
    NSURL *url = [mainBundle URLForResource:@"a" withExtension:@"png"];
    NSLog(@"url:%@", url);
     
  • 相关阅读:
    计算机的组成与操作系统
    面向对象初识
    规范化目录
    装饰器进阶
    装饰器练习
    装饰器
    内置函数二 闭包
    生成器 推导式 练习
    迭代器 递归 格式化 练习
    生成器 推导式 内置函数
  • 原文地址:https://www.cnblogs.com/lignpeng/p/5458352.html
Copyright © 2020-2023  润新知