儲存資料 1應用程式得沙盒

2021-06-20 03:16:02 字數 2378 閱讀 6161

1//獲取沙盒目錄(documents)

/*nsdocumentdirectory表明我們正在查詢documents目錄得路徑

nsuserdomainmask表明我們將搜尋限制在我們應用程式得沙盒中希望該函式檢視使用者的主目錄

每個應用程式只有乙個documents目錄即位於陣列中索引值為0處的目錄

*/nsarray

*paths =nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask,

yes); /*

獲得每個程式自己的documents目錄 */

nsstring *filepath = [paths objectatindex:0];/*

在剛剛檢索到的路徑後邊新增乙個字串來建立乙個檔名如下

*//*

呼叫之後path將包含在thetext.txt檔案的完整路徑該檔案將會位於應用程式的documents目錄之後可以使用path來建立、讀取和寫入檔案*/2

//獲取臨時目錄(tmp)/*

呼叫下邊的函式將會返回乙個字串該字串包含在應用程式臨時的目錄的完整路徑

*/nsstring *temppath = nstemporarydirectory();/*

為將要儲存在臨時檔案下的檔案建立乙個檔名在該目錄中建立乙個到該檔案的路徑

*/nsstring

@"tempfile.txt"];

3 資料的持久化

(1)屬性列表序列化

序列化物件是指將物件轉化為位元組流 以便儲存到檔案或者通過網路傳輸, 將某些物件放在集合類中 然後使用集合類的writetofile:atcmically將它們存貯在屬性列表可以按照該方法序列化的oc類

nsarray;nsmutablearray;nsdictionary;nsmutabledictionary;nsdata;

nsmutabledata;nsstring;nsmutablestring;nsnumber;nsdate

缺點:無法將自定義的物件序列化到屬性列表中 也無法直接使用nsurl,uiimage,uicolor

優點:將靜態資料報含在程式中的最佳方法 例如在應用程式包含乙個選擇器的時候,將專案列表包含到選取器中的最佳方法 建立乙個屬性列表檔案 將其放在專案的resource資料夾中 這會將其編譯到應用程式中

#import

@inte***ce viewcontroller : uiviewcontroller

@property(retain, nonatomic) iboutlet

uitextfield

*field1;

@property(retain, nonatomic) iboutlet

uitextfield

*field2;

@property(retain, nonatomic) iboutlet

uitextfield

*field3;

@property(retain, nonatomic) iboutlet

uitextfield

*field4;

- (nsstring *)datafilepath;

@end

#import "viewcontroller.h"

#define kfilename @"data.plist"

@inte***ce

viewcontroller()

@end

@implementation viewcontroller

- (void)dealloc

/*將檔名串聯到documents 目錄的路徑

*/- (nsstring *)datafilepath

- (void)viewdidload];

/* 第乙個引數是觀察者引數

是self 意味著viewcotroller是需要通知的物件

第二個引數

將乙個選擇器傳遞給

告知通知中心在發布該通知時呼叫這個方法

第三個引數是希望接收通知的名稱

第四個引數是從中獲取通知的物件

*/[[nsnotificationcenter

defaultcenter

]addobserver

:self

selector

:@selector

name

object }

/*是乙個通知方法

將資料儲存,然後終止或者傳送到後台

*/- (void)touchesbegan:(nsset *)touches withevent:(uievent *)event

- (void)didreceivememorywarning

@end

應用程式沙盒

1,檔案儲存策略 1.1單個檔案永續性 1.2 多個檔案永續性 優勢 延遲載入使用者資料 方便釋放閒置的記憶體 缺點 增加了應用程式的複雜性 1.3持久儲存應用程式資料 獲取路徑 獲取應用程式沙盒document nsarray paths nssearchpathfordirectoriesind...

iOS應用程式的資料儲存 沙盒機制

1 ios沙盒 sandbox 機制 ios應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非 檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表,文字檔案等。1.1 每個應用程式都有自己的儲存空間 1.2 應用程式不能翻過自己的圍牆去訪問別的...

ios 應用程式沙盒

應用沙盒的檔案系統目錄 應用沙盒其實就是應用程式所在的那個資料夾,包含了所有的資源檔案和可執行檔案。documents 就是儲存應用執行時生成的需要持久化的資料,什麼是需要持久化的資料就是儲存到硬碟裡面的資料,下次我們開機還是可以看到的資料,itunes在同步裝置的時候回備份該目錄,比如說遊戲的存檔...