iOS沙盒文件夹及获取路劲方法

iPhone沙盒中有四个文件夹,分别是:documents、tmp、app、library.

1、Documents :用户生成的文档或数据,或者应用不能重新新创建的数据,存储在/Documents目录下,并且会被自动备份到iCloud;

2、AppName.app :应用程序的包存储在/app目录下。由于应用程序必须经过签名,所以该目录下的内容不能修改,否则程序可能无法启动;

3、tmp:临时文件存放在该目录下(应用程序再次启动时不需要的信息,应用需要写到本地存储,内部使用的临时数据,但不需要长期保留使用),文件不会被iCloud备份,应用在使用完之后需要记得删除这些文件,这样才不会继续占用用户设备的空间;

4、Library:其又被分为Caches和Preferences。其中Caches存放应用程序可以重新下载或生成的数据(保存应用程序再次启动时需要的信息,如数据库缓存文件、可下载文件(杂志、报纸、地图应用使用的数据)等),Preferences包含应用程序的偏好设置文件(不能直接创建偏好设置文件,需要通过使用NSUserDefaults类还获取和设置应用程序的偏好设置)。

 

获取这些目录路径的方法:

1,获取家目录(app文件)路径的函数:

NSString *homePath = NSHomeDirectory();

2,获取Documents目录路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *docDir =[paths objectAtIndex:0];

3,获取Caches目录路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);

NSString *cachesDir =[paths objectAtIndex:0];

4,获取tmp目录路径的方法:

NSString *tmpDir = NSTemporaryDirectory();

5,获取应用程序程序包中资源文件路径的方法:

例如获取程序包中一个图片资源(apple.png)路径的方法:

NSString *imagePath =[[NSBundle mainBundle]pathForResource:@”apple”ofType:@”png”];

UIImage *appleImage =[[UIImage alloc]initWithContentsOfFile:imagePath];

代码中的mainBundle类方法用于返回一个代表应用程序包的对象。

转载于:https://www.cnblogs.com/ZK1316/p/9857627.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot多环境加载yml和logback配置

大家好,我是烤鸭:这是一篇关于springboot多环境加载yml和logback配置文件。环境:开发工具 idea(推荐)/eclipse(对yml支持不好)jdk 1.8springboot 1.5.6.RELEASE 1. yml和logback文件1.1 结构,如图所示:1.2 application.yml (默…

[css] 请描述下你对translate()方法的理解

[css] 请描述下你对translate()方法的理解 Single length/percentage value一个长度值或百分比表示X轴和Y轴使用一样的值进行二维上的平移。等同于translate() (2D 平移)函数指定单个值。Two length/percentage values两个长度值或百分比表示在二维上分…

laydate闪退

1,解决方案一:加 trigger: ‘click’ laydate.render({ elem: this ,format:‘yyyy-MM-dd HH:mm:ss’ ,type:‘datetime’ ,trigger: click’ }); 解决方案二: $("#"dateControlId).removeAttr(“lay-key”);

汇编实验二

》实验结论 1.使用Debug将下面的程序写入内存,逐条执行(见1-1),根据指令执行后的实际情况填空(见1-2) p.s. 已经按实验要求将使用 e 命令将内存单元 0021:0 ~0021:7 连续 8 个字节数据修改为 30H, 31H, 32H…

springboot中的拦截器interceptor和过滤器filter,多次获取request参数

大家好,我是烤鸭: 这是一篇关于springboot的拦截器(interceptor)和过滤器(Filter)。 先说一下过滤器和拦截器。区别:1. servlet请求,顺序:Filter ——> interceptor。2. Filter的作用是对所有进行过滤&#xff…

[css] 怎样去除图片自带的边距?

[css] 怎样去除图片自带的边距? 空隙产生的原因,换行符,空格符,制表符等你空白符,字体不为0的情况下,都会产生一个字符的空隙,空格符好会占据一定宽度,使用inline-block会产生元素间…

Java删除list

方案1>:for循环删除:注意从大到小遍历,不是从小到大; /*** 删除选中项*/private void deleteCheckedItem() {// list:初始化所有的数据;count:最后角标int count list.size() - 1 ;//从大到…

Unable to locate the default servlet for serving static content. Please set the 'defaultServletName'

大家好,我是烤鸭。 今天分享一个莫名其妙的异常及解决方式。 环境: tomcat6 jdk 1.6 异常主体: java.lang.IllegalStateException: Unable to locate the default servlet for serving static content. Please set the defaultServletName p…

iptables原理及规则

iptables简介和原理 我们先来了解以下社么是防火墙 防火墙:隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是…

[css] 让你手写一个reset的文件,你应该怎么写?要考虑哪些方面呢?

[css] 让你手写一个reset的文件,你应该怎么写?要考虑哪些方面呢? 肯定首先考虑的是浏览器本身的样式,还有浏览器兼容。margin,padding >0ul,ol list style:nonea,text-decoration:nonefont-size:100%上标&#xff…

利用cookies跳过登陆验证码

前言在爬取某些网页时,登陆界面时经常遇到的一个坎,而现在大多数的网站在登陆时都会要求用户填写验证码。当然,我们可以设计一套机器学习的算法去破解验证码,然而,验证码的形式多种多样,稍微变一下&#xf…

org.apache.ibatis.reflection.ReflectionException: Error instantiating class with invalid types

大家好,我是烤鸭,记录一个初级异常,百度搜索结果不多: Caused by: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.xxx.xxx with invalid types 。 java.lang.NoSuchMethodException: com.xx…

[css] 你知道css的预处理器和后处理器都有哪些吗?它们有什么区别呢?

[css] 你知道css的预处理器和后处理器都有哪些吗?它们有什么区别呢? 目前最主流的 CSS 预处理器:Sass、LESS、Stylus 。优缺点优点:语言级逻辑处理,动态特性,改善项目结构缺点:采用特殊语法&…

[Swift]八大排序算法(八):基数排序

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )➤GitHub地址&…

推一波JAVA学习公众号

大家好,我是烤鸭,今天不水了。分享一波java学习公众号。从基础到架构都有,另外说一句,注意身体吧。另外说一句,本文不定时更新。1. JAVA思维导图2. 程序员小灰可爱的小仓鼠3. 码农每日一题4. JAVA后端技…

springmvc限流解决方案

本文采用3中限流方案: 1,谷歌的guava框架 2,使用redis技术 3,使用lua redis 技术 限流方案类型 1,令牌桶限流(guava) 2,计数器限流(redis) 各位看官可根…

二叉树的三种遍历(递归与非递归) + 层次遍历

<转载于 >>> > 二叉树是一种非常重要的数据结构&#xff0c;很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式&#xff0c;因为树的本身就是用递归定义的&#xff0c;因此采用递归的方法实现三种遍历&#xff0c;不仅代码简洁…

springboot使用mongodb

大家好&#xff0c;我是烤鸭&#xff1a;这是一篇关于springboot项目中使用mongodb。 环境&#xff1a;jdk 1.8springboot 1.5.6.RELEASEmaven 3.5 1. mongodb在springboot中的配置springboot集成这个三方插件就是简单&#xff0c;只需要引入依赖&#xff0c;在properties或者…

[css] 请使用css画一个圆,方法可以多种

[css] 请使用css画一个圆&#xff0c;方法可以多种 <div class"circle"></div>1.border-radius.cirlce{width:10vw; height:10vw; background:gray;border-radius:50%; }2.clip-path.circle{width:10vw; height:10vw; background:gray;clip-path: circl…

springboot中getOutputStream() has already been called for this response和java.io.FileNotFoundException

这个异常挺多人遇到的&#xff0c;不过我看了一下&#xff0c;跟我们的情况都不一样。 1. 流没关闭。 2. 未设置响应头。 3. jsp页面需要清空流。说一下我们遇到的情况。就是一个简单的sprinboot项目。 用的是springboot 1.5.6&#xff0c;本地启动后用花生壳内网映射…