zoukankan      html  css  js  c++  java
  • ios应用数据存储的常用方式 ios7.1应用沙盒

      归档:用某种格式保存某个对象,又称持久化。

    1XML 属性列表plist归档(持久化)

    2Preference(偏好设置)

    3NSKeyedArchiver归档

    4SQLite3

    5Core Data(操纵SQLLite3)

    应用沙盒

    一、iOS沙盒机制

    iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下,包括图片,属性文件plist,bundle,nib文件等,这块区域称之为沙盒(sandBox)。

    1. 每个应用都有属于自己的存储空间,即沙盒
    2. 应用只能访问自己的沙盒,不可访问其他区域
    3. 如果应用需要进行文件操作,则必须将文件存放在沙盒中,尤其是数据库文件,在电脑上操作时,可以去访问,但是如果要装在真机上可以使用,必须将数据库文件拷贝至沙盒中。

    二、打开沙盒路径

    1、如果不知道沙盒路径,可以在自己的应用中打印其路径。(自己虚拟机 Xcode6.2 ios7.1

     NSLog(@"沙盒路径:%@",NSHomeDirectory());

    会得到打印结果*为字母或数字,即为沙盒的路径

    1 2015-06-19 23:10:37.692 私人通讯录[31250:1282190] 沙盒路径:/Users/zjj/Library/Developer/CoreSimulator/Devices/7CE3FB7E-052B-4B1D-8783-BEAFB45A3558/data/Containers/Data/Application/15B4C992-A4C6-4005-BF76-077EA5BBE9FC

    路径为:/Users/zjj/Library/Developer/CoreSimulator/Devices

    2、打开Finder,选择前往-前往文件夹(或选择快捷键command+shift+G)输入打印出来的路径即可

    三、目录结构

    沙盒默认情况下有三个目录文件夹documents,Library,tmp及应用的App文件,只可在相应的文件夹中进行操作

    • AppName.app 应用程序的程序包目录。由于应用程序必须经过签名,所以不能在运行时对这个目录中的内容进行修改,否则会导致应用程序无法启动。
      • Documents/ 保存应用程序的重要数据文件和用户数据文件等。如数据库文件,或程序中浏览到的文件数据。iTunes 同步时会备份该目录。

      • Library:存储应用的默认设置及状态信息;
      • Library/cache:保存应用程序使用时产生的支持文件和

    缓存文件,还有日志文件最好也放在这个目录。iTunes 同步时不会备份该目录。

      Library/Preferences 保存应用程序的偏好设置文件(使用 NSUserDefaults 类设置时创建,不应该手动创建)。
    • tmp:保存应用运行时所需要的临时数据,iphone 重启时,会清除该目录下所有文件。

    在Xcode 6中iPhone模拟器的位置已经发生了变化。与此同时,在iOS 8 release Note中有提到,app的沙盒结构已经发生了改变,现在它被划分成了三个容器,Bundle容器、Data容器、iCloud容器。iOS 8 app沙盒目录结构如下图:
     

  • 相关阅读:
    bzoj1415 NOI2005聪聪和可可
    Tyvj1952 Easy
    poj2096 Collecting Bugs
    COGS 1489玩纸牌
    COGS1487 麻球繁衍
    cf 261B.Maxim and Restaurant
    cf 223B.Two Strings
    cf 609E.Minimum spanning tree for each edge
    cf 187B.AlgoRace
    cf 760B.Frodo and pillows
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4589959.html
Copyright © 2011-2022 走看看