美文网首页
60-iOS本地(沙盒)存储

60-iOS本地(沙盒)存储

作者: IMKel | 来源:发表于2017-11-03 10:20 被阅读49次

    一、存储的地方介绍


    iOS 本地存储主要存储在沙盒中,那么何为沙盒?沙盒其实就是一个文件夹。这些文件夹主要用来存放数据文件的。

    1.如何进入沙盒?

    • 1.1执行代码NSHomeDirectory()即可打印进入沙盒文件的路径。

    • 1.2同时按住command + shift + g,把打印出来的路径粘贴上去,按回车,即可进入沙盒目录。

    注意1:只有模拟器调试时才能进入沙盒,真机调试是进不了的。
    注意2:沙盒路径是会变的,好像是每次重新运行APP时路径就会改变,因此在访问沙盒目录下的自建文件(自己在沙盒目录下创建的文件)时,应该先使用系统方法获取沙盒路径,再拼接自建文件夹路径,而不能使用之前保存的自建文件夹的全路径来访问自建文件,否则将访问失败。

    2.沙盒文件夹一共有3个

    Snip20170520_2.png

    3.现在开始按照顺序对沙盒目录下的文件夹进行文件介绍

    • 3.1 Documents
      保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。

    • 3.2 Library
      该目录下还有两个文件夹,如下图:

      Snip20170520_3.png
    • 3.2.1 Library/Caches
      保存应用运行时生成的需要持久化的数据,iTunes同步设备时不会备份该目录。一般存储体积大、不需要备份的非重要数据 。(笔者曾将用户录制的视频和fmdb数据库存放于此,发现每个一段时间(大约3天左右),caches目录下的数据都会被自动清空)。经查询,有相关资料佐证。简而言之,就是在内存不够的情况下,系统会自动清除caches目录下的数据。

    • 3.2.2 Library/Preferences
      作用:比如保存用户名、密码、字体大小等设置。通过NSUserDefault实例来存储该目录下的设置信息。只要使用了NSUserDefault单利来保存对象,那么在Library/Preferences目录下就会自动创建一个plist文件。

    • 3.3 tmp(了解即可)
      保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录


    二、存储技术

    笔者知道的有这么几种技术
    1、NSUserdDefault(单利)存储形式plist,文件自动存放在Library/Preferences目录中。
    2、NSKeyedArchive(归档),可以保存模型,牛逼得很。
    3、数据库(数据库有好多种)


    相关文章

      网友评论

          本文标题:60-iOS本地(沙盒)存储

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