zoukankan      html  css  js  c++  java
  • [Xcode 实际操作]七、文件与数据-(1)获取程序沙箱结构中常用的几个目录

    目录:[Swift]Xcode实际操作

    本文将演示如何获取程序沙箱结构中,常见的几个目录。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

     1 import UIKit
     2 
     3 class ViewController: UIViewController {
     4 
     5     override func viewDidLoad() {
     6         super.viewDidLoad()
     7         // Do any additional setup after loading the view, typically from a nib.
     8         
     9         //获得应用程序的路径,
    10         //包含三个文件夹:1.文档目录 2.库目录 3.临时目录 4.以及一个程序包
    11         //该目录就是应用程序的沙盒,程序只能访问该目录下的内容。
    12         let homePath = NSHomeDirectory()
    13         //在控制台打印输出程序包主目录的路径
    14         print("homePath:(homePath)")
    15         
    16         //系统会为每个程序,生成一个私有目录,并随机生成一个数字字母串作为目录名。
    17         //在每次程序启动时,这个目录名称都是不同的。
    18         //而使用此方法,则可以i获得对应的目录集合。
    19         let documentPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, 
    20         FileManager.SearchPathDomainMask.userDomainMask,
    21          true)
    22          //获得并输出目录集合中的第一个元素,即沙箱中的文档目录。
    23          //应该将应用程序的所有数据文件,写入到这个目录下。
    24          //这个目录通常用于存储用户数据。
    25         print("documentPath1:(documentPaths[0])")
    26         //创建一个字符串对象,该字符串对象同样表示沙箱中的文档目录
    27         let documentPath2 = NSHomeDirectory() + "/Documents"
    28         //在控制台打印输出该目录,并与上一条日志比较是否相同
    29         print("documentPath2:(documentPath2)")
    30         
    31         //使用相同的方式,获得沙箱下的库目录。
    32         //这个目录下,包含两个子目录:1.缓存目录 2.参数目录
    33         let libraryPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.libraryDirectory,
    34          FileManager.SearchPathDomainMask.userDomainMask,
    35           true)
    36         //在控制台打印输出库目录
    37         print("libraryPath1:(libraryPaths[0])")
    38         //创建一个字符串对象,该字符串对象同样表示沙箱中的库目录
    39         let libraryPath2 = NSHomeDirectory() + "/Library"
    40         //在控制台打印输出该目录,并与上一条日志比较是否相同
    41         print("libraryPath2:(libraryPath2)")
    42 
    43         //使用相同的方式,获得沙箱下的缓存目录。
    44         let cachePaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, 
    45         FileManager.SearchPathDomainMask.userDomainMask,
    46          true)
    47         //获得并在控制台打印输出缓存目录,
    48         //该目录用于存放应用程序专用的支持文件,
    49         //保存应用程序再次启动过程中,需要的信息
    50         print("cachePath1:(cachePaths[0])")
    51         //创建一个字符串对象,该字符串对象同样表示沙箱中的缓存目录,
    52         let cachePath2 = NSHomeDirectory() + "/Library/Caches"
    53         //在控制台打印输出该目录,并与上一条日志比较是否相同
    54         print("cachePath2:(cachePath2)")
    55         
    56        //创建一个字符串对象,该字符串对象同样表示沙箱中的临时目录
    57         let tmpPath1 = NSTemporaryDirectory()
    58         //在控制台打印输出沙箱目录的临时文件夹
    59         print(tmpPath1)
    60 
    61         //从沙箱的根目录,也可以定位到临时文件夹
    62         let tmpPath2 = NSHomeDirectory() + "/tmp"
    63         //在控制台打印输出沙箱目录的临时文件夹
    64         //和上面输出的临时文件夹的日志进行比较
    65         print(tmpPath2)
    66     }
    67 
    68     override func didReceiveMemoryWarning() {
    69         super.didReceiveMemoryWarning()
    70         // Dispose of any resources that can be recreated.
    71     }
    72 }
  • 相关阅读:
    从安装、管理到防御_阿里云安骑士全向测评
    云架构师前(钱)景这么好_我们该如何转型?这有两位阿里云云架构总监多年心得
    Infrastructure_as_Code——Kubernetes一键编排实践
    大中华地区(含港澳台)空气质量接口参加阿里云API_as_a_Service_大赛
    E-MapReduce集群启停HDFS/YARN服务
    云服务器ECS还原安全组规则功能介绍_安全组规则的备份与还原
    E-MapReduce集群中HDFS服务集成Kerberos
    FastReport中如何加入自定义函数
    查找算法总结
    八大排序算法总结
  • 原文地址:https://www.cnblogs.com/strengthen/p/10042273.html
Copyright © 2011-2022 走看看