在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...