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

來源:互聯網
上載者:User

標籤:

      作為ios開發,其實很多時候要瞭解一些底層的東西才能有所進步,那麼今天就來分享下經常面對的ios的沙箱儲存吧。

      首先要理解什麼是沙箱?

      iOS中應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,這個地區就被稱作沙箱,所以所有的非代碼檔案都要儲存在此,例像,表徵圖,聲音,映像,屬性列表,文字檔等。

  打個比方吧,咱們去銀行辦事要講規矩吧,另外銀行也要安全的保障,不會讓你隨便的亂進入。當你需要訪問辦事情的時候,他會給你指定一個特定的地區讓你去存取你的東西,而每個人也要遵守它的規章制度。

    那麼這個特定的地區是什麼的呢,就是沙箱唄,開啟沙箱的主目錄的方法說兩個,都可以

   方法一:

    NSString *path =NSHomeDirectory();//沙箱

    NSLog(@"NSHomeDirectory:%@我是沙箱主目錄",path);

    方法二:

    NSString *userName =NSUserName();//沙箱

    NSString *rootPath =NSHomeDirectoryForUser(userName);

    NSLog(@"NSHomeDirectoryForUser:%@我是沙箱主目錄",rootPath);

   沙箱的主目錄裡還裝著其他的東西,就好比銀行的金庫裡面子金庫,分別存放不同的東西。

    首先介紹第一個Application,它是程式文檔目錄,不存放東西,你去也去不了

    下面是重點(也就是說你能去的子金庫): 

     Document,library下面的Caches和Preferences,tmp



    Document:一般存放需要持久化儲存的檔案,iTunes會自動備份這個目錄,檔案比如說程式建立或者瀏覽到的檔案資料等(反正不想讓它消失或者重要的都放這裡) 

    library中的Caches:指的就是緩衝,也就是程式運行時臨時的資料,比如你瀏覽的圖片,視頻什麼的,iTunes不會備份這個目錄,應用沒有運行時,它可能會被清除,記憶體不足是會被清除(反正就是體積大,需要暫時持久化的資料,不重要的東西,比片,視頻,這些從網上下載的東西就放這裡)

    library中的Preference:指的是你的喜好設定,iTunes會自動備份這個目錄,它儲存一些喜好設定(比如使用者名稱,密碼,字型大小,夜間模式之類的)

    tmp:顧名思義,它就是存放臨時檔案的資料,iTunes不會備份這個目錄,應用沒有運行時,應用退出後會被清除。

   總結:需要長時間持久化儲存的東西放在Document,不重要,但是體積大的交給library,最後臨時的沒用的拿給tmp(他們對我們程式員的重要性也依次遞減)。

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.