iOS知識點總結 資料儲存

2021-06-28 14:21:03 字數 2679 閱讀 4966



在ios開發中資料的儲存有很多種,最常見的無非是nsuserdefault 、plist、 db、 寫檔案 、 coredata幾種,以下分別對幾種方式的用途及用法進行說明:

1. nsuserdefault

nsstring、

nsnumber、

nsdate、

nsarray、

nsdictionary、bool等。

如果你想儲存其他型別,如uiimage,你應該進行編碼(即archive),或者將它轉換為nsdata、nsnumber或者nsstring。

nsuserdefault的用法很簡單,[[nsuserdefaults standarduserdefaults]setobject:obj forkey:@「」];可以根據你儲存的資料型別不同而引用不同的方法,讀取nsuserdefault的方法也很簡單[[nsuserdefault standarduserdefaults]objectforkey:@「」];

2.plist檔案的讀寫

plist檔案在ios中使用非常之廣泛,

在做ios開發時,經常用到到plist檔案,  那plist檔案是什麼呢? 它全名是:

property list,屬性列表檔案,它是一種用來儲存序列化後的物件的檔案。屬性列表檔案的擴充套件名為

。plist

,因此通常被稱為 plist檔案。檔案是xml格式的。

plist檔案通常用於儲存使用者設定,也可以用於儲存**的資訊

在ios開發中plist檔案的讀寫分為兩種,一種是在本地工程檔案中已經有plist檔案,直接讀寫,第二種是使用者將資料儲存為plist檔案放在沙盒中,下面對兩種plist檔案的讀寫**:

(1)本地plist檔案讀寫

讀:

nsstring

*plistpath = [[

nsbundle

mainbundle] pathforresource:

@"plistname"

oftype:

@"plist"];

nsmutabledictionary*data = [[[nsmutabledictionary

alloc

] initwithcontentsoffile

:plistpath]

autorelease];

return

data;

寫:

nsarray

*paths=nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes);

nsstring *path=[paths   objectatindex:0];

nsfilemanager* fm = [nsfilemanager

defaultmanager];

[fm createfileatpath:filename contents:

nilattributes:

nil];

//建立乙個dataarr,寫到plist檔案裡,注意這裡的dataarr是使用者要寫入的資料,也可以是dic

[dataarr writetofile:filename atomically:yes];

(2)使用者自己儲存和讀取沙盒中的plist檔案

寫://

獲取應用程式沙盒的

documents

目錄nsarray

*paths=nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes);

nsstring *plistpath1 = [paths objectatindex:0];

//得到完整的檔名

//輸入寫入

[dic writetofile:filename atomically:yes];讀:

nsarray

*paths=nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes);

nsstring *path=[paths objectatindex:0];

nsstring

@"stockdata.plist"];

//讀檔案

nsmutabledictionary*data= [nsdictionary

dictionarywithcontentsoffile

:filename];

return data;

從上述**我們可以看出來,在讀取plist檔案的時候主要是獲取的路徑不一樣,前者是獲取了工程檔案的路徑,後者是獲取本地沙盒檔案的路徑。在寫plist檔案的時候,前者需要建立乙個nsfilemanager物件,而後者是不需要建立這種管理物件的。

3. database

任何應用程式的開發都需要有乙個資料儲存單元,無論是web應用還是移動端應用,特別是在一些需要有大量資料的情況下,ios開發採用輕量型資料庫sqlite(android和win8開發也採用該資料庫),對於sqlite的操作,主要有兩種方式,一是採用sqlite命令直接操作,二是採用fmdb進行操作,後者使用非常之廣泛,在筆者所經歷的程式中全部採用的是fmdb進行資料管理,對於fmdb的使用方法已經無從介紹,可以在 上查詢到。

iOS知識點總結 資料儲存

在ios開發中資料的儲存有很多種,最常見的無非是nsuserdefault plist db 寫檔案 coredata幾種,以下分別對幾種方式的用途及用法進行說明 1.nsuserdefault nsstring nsnumber nsdate nsarray nsdictionary bool等。...

資料儲存知識點總結

1.什麼是謂詞?答案 謂詞是通過nspredicate,是通過給定的邏輯條件作為約束條件,完成對資料的篩選。predicate nspredicate predicatewithformat customerid d n a customers filteredarrayusingpredicate...

知識點總結

1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...