• [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 }
  • 相关阅读:
    Android——ListView学习笔记(一)
    记录笔记——关于request.getRequestDispatcher().forward(request, response)的跳转问题
    Python + openCV 实现图像垂直投影和水平投影
    2020年-第三周助教总结-第二组
    Python记录——字符串的常用方法
    2020年-第二周助教总结-第二组
    Android开发——三种活动跳转方式
    2020年-第一周助教总结-第二组
    Python —— 实例化ndarray对象
    海信聚好看矫恒浩:构建异地双活混合云,利用公共云应对流量突增
  • 原文地址:https://www.cnblogs.com/strengthen/p/10042273.html
Copyright © 2020-2023  润新知