作為ios開發,其實很多時候要了解一些底層的東西才能有所進步,那麼今天就來分享下經常面對的ios的沙盒儲存吧。
首先要理解什麼是沙盒?
ios中應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,這個區域就被稱作沙盒,所以所有的非**檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表,文字檔案等。
打個比方吧,咱們去銀行辦事要講規矩吧,另外銀行也要安全的保障,不會讓你隨便的亂進入。當你需要訪問辦事情的時候,他會給你指定乙個特定的區域讓你去訪問你的東西,而每個人也要遵守它的規章制度。
那麼這個特定的區域是什麼的呢,就是沙盒唄,開啟沙盒的主目錄的方法說兩個,都可以
方法一:
nsstring
*path =
nshomedirectory
();//沙盒
nslog
(@"nshomedirectory:%@我是沙盒主目錄"
,path);
方法二:
nsstring
*username =
nsusername
();//沙盒
nsstring
*rootpath =
nshomedirectoryforuser
(username);
nslog
(@"nshomedirectoryforuser:%@我是沙盒主目錄"
,rootpath);
沙盒的主目錄裡還裝著其他的東西,就好比銀行的金庫裡面子金庫,分別存放不同的東西。
首先介紹第乙個
它是程式文件目錄,不存放東西,你去也去不了
下面是重點(也就是說你能去的子金庫):
document,library下面的caches和preferences,tmp
document:一般存放需要持久化儲存的檔案,itunes會自動備份這個目錄,檔案比如說程式建立或者瀏覽到的檔案資料等(反正不想讓它消失或者重要的都放這裡)
library中的preference:指的是你的偏好設定,itunes會自動備份這個目錄,它儲存一些偏好設定(比如使用者名稱,密碼,字型大小,夜間模式之類的)
tmp:顧名思義,它就是存放臨時檔案的資料,itunes不會備份這個目錄,應用沒有執行時,應用退出後會被清除。
總結:需要長時間持久化儲存的東西放在document,不重要,但是體積大的交給library,最後臨時的沒用的拿給tmp(他們對我們程式設計師的重要性也依次遞減)。
iOS沙盒 一 沙盒機制
1 ios沙盒機制 ios應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非 檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表,文字檔案等。1.1 每個應用程式都有自己的儲存空間 1.2 應用程式不能翻過自己的圍牆去訪問別的儲存空間的內容 1...
LINQ其實很簡單
會寫這一篇是有原因的,不只一次有人問我,要不要學 linq呢?linq 看起來很難耶 為何要放棄以前的 sql來學 linq呢?到底linq 的意義是什麼 反正就是有很多的問題,說真的,由於最近也沒時間寫本 linq 的書,但是工作累了順手寫寫 blog 還可以,所已針對 linq 這個主題,和大家...
LINQ其實很簡單
會寫這一篇是有原因的,不只一次有人問我,要不要學linq呢?linq看起來很難耶 為何要放棄以前的sql來學linq呢?到底linq的意義是什麼?反正就是有很多的問題,說真的,由於最近也沒時間寫本linq的書,但是工作累了順手寫寫blog還可以,所已針對linq這個主題,和大家有一些分享。其實對於v...