1.沙盒
? ? ? ? 每一個IOS應(yīng)用程序都會為自己創(chuàng)建一個系統(tǒng)文件目錄(文件夾),這個獨立、封閉、安全的控件,叫做沙盒。 注:1.每一個應(yīng)用程序都會擁有一個應(yīng)用程序沙盒。2.應(yīng)用程序沙盒就是一個文件系統(tǒng)目錄。
? ?IOS中的沙盒機(jī)制:
首先沙盒是一種安全體系,它規(guī)定了應(yīng)用程序只能在為該應(yīng)用程序創(chuàng)建的文件(沙盒)內(nèi)訪問文件,不可以訪問其他沙盒內(nèi)的內(nèi)容。還有所有的非代碼文件都保存在這個地方,比如圖片、聲音、屬性列表(plist)、sqlite數(shù)據(jù)庫和文本文件等。
? ? 沙盒機(jī)制的特點:
1.每個應(yīng)用程序的活動范圍都限定在自己的沙盒里 ? ?2.不能隨意跨越自己的沙盒去訪問別的應(yīng)用程序程序中的內(nèi)容 ?3.應(yīng)用程序向外請求或接收數(shù)據(jù)需要經(jīng)過權(quán)限認(rèn)證。
2.打開模擬器的沙盒目錄
? ? ? ? 點擊finder----點擊菜單欄的前往----按住alt,出現(xiàn)了隱藏的資源庫選項----點擊資源庫----developer----CoreSimulator----Devices,然后發(fā)現(xiàn)這里有很多的一長串字母的文件,根據(jù)時間找到最新的一個文件打開。或者在終端寫 : defaults write com.apple.finder AppleShowAllFiles -bool true ,也可以顯示隱藏文件
可以看到里面有三個并列文件夾Documents, Library, tmp
Document:
? ? ? ?只有用戶生成的文件、其他數(shù)據(jù)及其他程序不能重新創(chuàng)建的文件,應(yīng)該保存在/Documents 目錄下面,并將通過iCloud自動備份,應(yīng)該將所有的應(yīng)用程序數(shù)據(jù)文件寫入到這個目錄下。
Library
iTunes不會自動備份此目錄
這個目錄下有兩個子目錄:Caches 和 Preferences
Caches
可以重新下載或者重新生成的數(shù)據(jù)應(yīng)該保存在 /Library/Caches 目錄下面。舉個例子,比如雜志、新聞、地圖應(yīng)用使用的數(shù)據(jù)庫緩存文件和可下載內(nèi)容應(yīng)該保存到這個文件夾。此目錄下不會再應(yīng)用退出時刪除。
Preferences
目錄包含應(yīng)用程序的偏好設(shè)置文件。您不應(yīng)該直接創(chuàng)建偏好設(shè)置文件,而是應(yīng)該使用NSUserDefaults類來取得和設(shè)置應(yīng)用程序的偏好
tmp
只是臨時使用的數(shù)據(jù)應(yīng)該保存到 /tmp 文件夾。盡管 iCloud 不會備份這些文件,但在應(yīng)用在使用完這些數(shù)據(jù)之后要注意隨時刪除,避免占用用戶設(shè)備的空間,保存應(yīng)用程序再次啟動過程中不需要的信息
3.文件的寫入與讀出
文件的讀寫方法
字典的寫入和讀取
數(shù)組的寫入和讀取
圖片的寫入