美文网首页面试题
iOS-文件路径的保存

iOS-文件路径的保存

作者: 肉肉要次肉 | 来源:发表于2017-11-25 11:26 被阅读1837次

    在iPhone的沙箱模型有四个文件夹,分别是documents、tmp、app、library。

    创建文件的时候会先创建文件的路径,方法如下:

    1、Documents:这是文档目录。有关应用的所有数据文件应该写入到这个目录下,这个目录用于存储用户数据或者其他应该定期备份的信息。

    获取Documents目录路径的方法:

    NSString*documentPath  = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ).firstObject;

    这里的firstObject改成lastObject也可以,因为该目录下只有一个文件夹。

    注:

    上面NSDocumentDirectory参数一位置:directory为获取哪个文件夹

    NSUserDomainMask 参数二位置:domainMask为在哪个范围内搜索,NSUserDomainMask 表示在用户的手机上查找

    YES 参数三位置:expandTilde为是否展开全路径。YES:表示展开全路径;NO:不会展开全路径,会把应用沙盒的路径用波浪号(~)代替

    2、AppName.app:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

    获取AppName.app 目录路径:

    NSString  *path = [[NSBundlemainBundle]bundlePath];

    3、Library:库目录。这个目录下面还有两个子目录:Caches 和 Preferences

    Caches目录:

    缓存目录。用于存储应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。

    NSString  *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;


    Perferences目录:

    包含应用程序的编号设置文件,存放NSUserDefaults保存的.plist文件。iTunes同步该应用时会同步该文件夹中的内容。

    NSUserDefaults  *userDefaults = [NSUserDefaultsstandardUserDefaults];

    //直接调用方法就能保存入偏好设置里面

    [userDefaults setObject:@"hello"forKey:@"hello"];

    [userDefaults synchronize];

    4、Library/Application Support目录:

    [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,   NSUserDomainMask, YES) objectAtIndex:0];

    5、tmp:临时文件夹。iTunes不会同步此文件夹,里面存的是临时文件,随时可以被删除,一般不怎么用

    NSString  *tmppath  = NSTemporaryDirectory();

    6、获取沙盒主目录路径  

    NSString*homePaht =NSHomeDirectory();


    常见的NSFileManager文件方法

    借鉴链接

    相关文章

      网友评论

        本文标题:iOS-文件路径的保存

        本文链接:https://www.haomeiwen.com/subject/qxeovxtx.html