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.pswp.cn/news/252879.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252879.shtml
英文地址,請注明出處:http://en.pswp.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("輸入的數據為:"…