ios 沙盒其實很簡單(精華版)

2021-07-11 17:25:49 字數 1545 閱讀 4605

作為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...