Xcode9学习笔记67 - 打印查看程序沙箱结构中常用的几个目录

    override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//首先获得应用程序目录的路径,在该目录下有三个文件夹:文档目录、库目录、临时目录以及一个程序包。该目录就是应用程序的沙盒,应用程序只能访问该目录下的内容let homePath = NSHomeDirectory()print("homePath: \(homePath)\n")//打印程序包主目录的路径//系统会为每个程序生成一个私有目录,并随机生成一个字符串作为目录名。在每次程序启动时,这个目录名称都是不同的。使用此方法,可以获得对应的目录集合let documentPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)//获得并输出目录集合中的第一个元素,即沙盒中的文档目录,应用程序的所有数据文件应该写入到这个目录下,这个目录通常用于存储用户数据print("documentPath1: \(documentPaths[0])")let documentPaht2 = NSHomeDirectory()+"/Documents"//创建一个字符串对象,同样来用表示沙箱中的文档目录print("documentPath2: \(documentPaht2)")//打印并与上一条日志比较是否相同//获取沙箱下的库目录,它包含两个子目录:缓存目录、参数目录let libraryPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)print("libraryPath1: \(libraryPaths[0])")//打印输出库目录let libraryPath2 = NSHomeDirectory() + "/Library"//创建一个字符串对象,同样表示沙箱中的库目录print("libraryPath2: \(libraryPath2)")//打印并与上一条日志比较是否相同//获得沙箱下的缓存目录let cachePaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)//打印输出缓存目录,该目录用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息print("cachePath1: \(cachePaths[0])")let cachePaht2 = NSHomeDirectory() + "/Caches"//创建一个字符串对象,同样表示沙箱中的缓存目录print("cachePath2: \(cachePaht2)")//打印并与上一条日志比较是否相同let tempPath1 = NSTemporaryDirectory()//当前用户的临时路径print(tempPath1)let tempPath2 = NSHomeDirectory() + "/tmp"print(tempPath2)}

  

转载于:https://www.cnblogs.com/LisenH/p/7864787.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

检测raid类型和磁盘坏道脚本

#!/bin/sh #脚本功能: #安装工具MegaCli64 #Host Information:主机名和ip地址 #Raid Information:raid信息和充电状态 #WARNING Information:MediaErrcount检测坏块和哪块盘 #Disk Information:磁盘信息 #上传MegaC…

简单论述市场营销管理的基本过程

http://www.chinadmd.com/file/uvc3uaosocwevsetrzpaereo_1.html

Javascript-Switch

JavaScript Switch 语句 请使用 switch 语句来选择要执行的多个代码块之一。 语法 switch(n) { case 1:执行代码块 1break; case 2:执行代码块 2break; default:n 与 case 1 和 case 2 不同时执行的代码 }工作原理:首先设置表达式 n(通常是一个变量&…

《SpringBoot揭秘 快速构建微服务体系》读后感(三)

SpringApplication:SpringBoot程序启动的一站式解决方案 深入探索SpringApplication执行流程 因为书上的版本是1.2的,比较老,这里参考http://blog.csdn.net/zxzzxzzxz123/article/details/69941910 public ConfigurableApplicationContext ru…

装饰器函数

1.装饰器 ​ 装饰器:在不改变原函数的调用方式和函数,额外的增加功能 简单装饰器def timer(func):def inner():print(time.time())func() # 原来的函数return inner ​ timer # func1 timer(func1) def func1():print(func1) 函数带返回值def timer…

6G SDI/12G SDI 基带信号无压缩传输方案介绍

认知数字像素分辨率: 首先从分辨率(数字像素)角度来讲,从标清时代走到高清,从720x576到现在的1920x1080,宽高比从4:3到16:9,这个是我们比较熟悉的,4K实际上是建立在高清基础之上的,我们称之为“…

4月18日

u盘丢了,毁灭性的灾难 希望明天可以找到它,不然万字的策划案就要重写 这是一个灾难 转载于:https://www.cnblogs.com/dandansang/p/6731174.html

玩转SSH端口转发

ssh端口转发(tunnel) 我们在实施项目部署时经常会遇到一种问题,那就是当我们给一些安全系数高的客户部署服务时,大多都不会给我们提供公网访问的权限,但是很多时候为了方便又会允许服务器直接访问公网,遇到这种情况大多有两种办法…

12.4日团队工作总结

今天团队的主要任务是注重于画图工具的设计,这就意味着我们首要的任务是将画图工具设置出来并可以完整运行,接下来才能顾及之前的改图软件,但今天在设计的过程中,遇到了两者无法无缝结合的问题,目前还没解决。 转载于:…

WIFI DFS测试介绍

http://www.eefocus.com/summer12200/blog/09-02/166038_b9094.html 1. 概述: 目前在802.11系列标准中,涉及物理层的有4个标准:802.11、802.11b、802.11a、802.11g。根据不同的物理层标准,无线局域网设备通常被归为不同的类别,如…

git 远程仓库版本的回退以及git reset 几种常用方式记录

由于 github push 了两个比较潦草的commit, 自己很不满意,又不想重新开vpn进行上传,所以找了一下相关的教程。 最后研究了一下,原理为先在本地还原到你想要的commit,然后强制push 到远程仓库,强制将远程仓库还原到你想要的commit.…

【PHP】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI、SCRIPT_NAME、PHP_SELF区别

实例:1、http://localhost/index.php/Home/Home/index.html $_SERVER[QUERY_STRING] ""; $_SERVER[REQUEST_URI] "/index.php/Home/H1/index.html";$_SERVER[SCRIPT_NAME] "/index.php";$_SERVER[PHP_SELF] "/index.php/H…

微软发布Azure Cosmos DB产品以及新的物联网解决方案

微软于当地时间2018年12月4日召开了一年一度的以云计算和数据为中心的开发者大会,在会上微软正式发布Azure机器学习服务(Azure Machine Learning service),这是一个云平台,允许开发人员构建、训练和部署AI模型,并对Azure认知服务(…

安装Windows10,Ubuntu双系统14.04LTS记录

两种方式都可以制作https://jingyan.baidu.com/article/19192ad85aa445e53e5707c2.htmlhttps://www.cnblogs.com/arcsinw/p/5303615.html

物理层、数据链路层网络设备工作原理

物理层网络设备有中继器、集线器。 中继器的功能是将接收到的信号进行再放大然后传输出去,作用是将扩展网络设备信号传输的物理范围,缺点是扩大数据信号的同时也扩大的噪声,不能够进行广播隔离,网络利用率很低,现在基本…

java中重载和重写的区别

1:重载是指一个类中定义多个方法名相同但参数列表不同的方法,在编译时根据方法参数的个数和类型来决定绑定哪个方法; 重写是指在子类中定义和父类方法签名完全一样的方法,在程序运行时根据对象的类型不同而调用不同的方法。(注意不…

大华Global Shutter CMOS摄像机剖析

http://www.itavcn.com/news/201709/20170912/63257.shtml

最短路径——Dijkstra算法以及二叉堆优化(含证明)

一般最短路径算法习惯性的分为两种:单源最短路径算法和全顶点之间最短路径。前者是计算出从一个点出发,到达所有其余可到达顶点的距离。后者是计算出图中所有点之间的路径距离。 单源最短路径 Dijkstra算法 思维 本质上是贪心的思想,声明一个…

linux shmget shmctl

shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值:成功返回共享存储的id,失败返回-1key_t key----------------------------------------------- key标识共享内存的键值: 0/IPC_P…

java控制台输入输出总结

一、控制台输入: 1.最常用:Scanner public static void main(String[] args) { System.out.println("请输入数据:"); Scanner scan new Scanner(System.in); String read scan.nextLine(); System.out.println("输入的数据为:"…