首先軟體在蘋果手機上的安裝目錄和軟體在手機上的資料檔案儲存目錄是不一樣的。
該目錄[[nsbundle mainbundle] resourcepath] 獲得,即軟體的打包目錄,nsbundle管理的一般都是此目錄下資源內容,而且該目錄內容只允許讀取,而不允許修改。
在電腦上你可以右鍵選擇顯示包內容,可以看到所有的**檔案都被打包成乙個可執行檔案
ios為程式提供了沙盒機制,即為每個程式都提供乙個專門儲存該程式資料的資料夾,程式只能訪問自己沙盒(資料夾)內的內容,而不能訪問其他程式的沙盒內容。
目錄的獲取方法以及介紹如下:
ios為程式的基本配置資訊如使用者姓名,程式音量等,提供了乙個setting bundle的方便方法。你只要在工程上新增乙個settingbundle,就可以在手機的系統配置上見到軟體的相關配置內容了。//document檔案目錄
/*應用程式的資料,檔案主要存放的地方
*/nsstring* documentpath = [nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, true) lastobject];
//library檔案目錄
/**/
nsstring* librarypath = [nssearchpathfordirectoriesindomains(nslibrarydirectory, nsuserdomainmask, true)lastobject];
//tmp檔案目錄
/*臨時檔案,用後刪除
*/nsstring* tmp = nstemporarydirectory();
1)為工程新增settingbundle
2)自定義root.plist檔案,具體引數見參考文章
3)在程式裡讀取配置資訊
如果你想自己在應用裡編寫配置介面,你也可以直接選擇用nsuserdefaults來儲存配置資訊。settingbundle其實只是提供了乙個快捷的介面,其內部資料也是使用nsuserdefaults來儲存。nsuserdefaults使用的是全域性的單例模式。首選項引數(即id)和值組成dictionary以plist檔案的形式儲存在 library/preference資料夾中。//獲得nsuserdefaults的單例
nsuserdefaults *userdefaults = [nsuserdefaults standarduserdefaults];
//獲得指定id的配置資訊
nslog(@"%@", [userdefaults stringforkey:@"name_preference"]);
nsuserdefaults使用方法:
//獲得nsuserdefaults的單例
nsuserdefaults *userdefaults = [nsuserdefaults standarduserdefaults];
//獲得指定id的配置值
nsstring *name = [userdefaults stringforkey:@"name_preference"];
//修改制定id的值
[userdefaults setbool:false forkey:@"music_preference"];
//儲存所有修改
[userdefaults synchronize];
iOS資料儲存
預設情況下,每個沙盒含有3個資料夾 documents,library和tmp.由於受沙盒機制的限制,應用只能在這幾個目錄下讀寫檔案 在itunes與iphone同步時,會備份所有的dcuments和library目錄,並且當iphone在重啟時,會丟棄所有的tmp檔案。documents 蘋果建議...
iOS 資料儲存
ios應用資料儲存常用方式 1 plist檔案儲存 2 nsuserdefault 設定儲存 3 sqlite3 4 core data plist檔案儲存是將nsstring,nsarray,nsdictionary,nsnumber等型別寫到檔案中 將字典寫入檔案中 nsdictionary p...
iOS 資料儲存
1 plsit屬性列表 1 適用物件 僅僅是foundation框架中自帶的一些類,比如 nsstring nsarray nsdicionary nsset nsnumber nsdata 2 呼叫物件的writetofile.方法就可以寫入檔案 3 呼叫物件的.withcontentsoffil...