ios 沙盒其实很简单(精华版)

      作为ios开发,其实很多时候要了解一些底层的东西才能有所进步,那么今天就来分享下经常面对的ios的沙盒存储吧。

      首先要理解什么是沙盒?

      iOS中应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,这个区域就被称作沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。

  打个比方吧,咱们去银行办事要讲规矩吧,另外银行也要安全的保障,不会让你随便的乱进入。当你需要访问办事情的时候,他会给你指定一个特定的区域让你去存取你的东西,而每个人也要遵守它的规章制度。

    那么这个特定的区域是什么的呢,就是沙盒呗,打开沙盒的主目录的方法说两个,都可以

   方法一:

    NSString *path =NSHomeDirectory();//沙盒

    NSLog(@"NSHomeDirectory:%@我是沙盒主目录",path);

    方法二:

    NSString *userName =NSUserName();//沙盒

    NSString *rootPath =NSHomeDirectoryForUser(userName);

    NSLog(@"NSHomeDirectoryForUser:%@我是沙盒主目录",rootPath);

   沙盒的主目录里还装着其他的东西,就好比银行的金库里面子金库,分别存放不同的东西。

    首先介绍第一个Application,它是程序文档目录,不存放东西,你去也去不了

    下面是重点(也就是说你能去的子金库): 

     Document,library下面的Caches和Preferences,tmp



    Document:一般存放需要持久化存储的文件,iTunes会自动备份这个目录,文件比如说程序建立或者浏览到的文件数据等(反正不想让它消失或者重要的都放这里) 

    library中的Caches:指的就是缓存,也就是程序运行时临时的数据,比如你浏览的图片,视频什么的,iTunes不会备份这个目录,应用没有运行时,它可能会被清除,内存不足是会被清除(反正就是体积大,需要暂时持久化的数据,不重要的东西,比如图片,视频,这些从网上下载的东西就放这里)

    library中的Preference:指的是你的偏好设置,iTunes会自动备份这个目录,它存储一些偏好设置(比如用户名,密码,字体大小,夜间模式之类的)

    tmp:顾名思义,它就是存放临时文件的数据,iTunes不会备份这个目录,应用没有运行时,应用退出后会被清除。

   总结:需要长时间持久化存储的东西放在Document,不重要,但是体积大的交给library,最后临时的没用的拿给tmp(他们对我们程序员的重要性也依次递减)。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值