iOS 資料儲存的四種方式

2021-07-15 12:59:54 字數 1113 閱讀 6993

nskeyedarchiver:採用歸檔的形式來儲存資料,該資料物件需要 遵守nscoding協議,並且該物件對應的類必須提供encodewithcoder:和initwithcoder:方法。前乙個方法告訴系統怎麼對 物件進行編碼,而後乙個方法則是告訴系統怎麼對物件進行解碼。例如對possession物件歸檔儲存。  

nsuserdefaults:用來儲存應用程式設定和屬性、使用者儲存的數 據。使用者再次開啟程式或開機後這些資料仍然存在。nsuserdefaults可以儲存的資料型別包括:nsdata、nsstring、 nsnumber、nsdate、nsarray、nsdictionary。如果要儲存其他型別,則需要轉換為前面的型別,才能用nsuserdefaults儲存。

write寫入方式:永久儲存在磁碟中。具體方法為:第一步:獲得檔案即將儲存的路徑:nsarray *documentpaths = nssearchpathfordirectoriesindomains(nsdocumentdirectory,  nsuserdomainmask,yes);//使用c函式nssearchpathfordirectoriesindomains來獲得沙盒中目錄 的全路徑。該函式有三個引數,目錄型別、he domain mask、布林值。其中布林值表示是否需要通過~擴充套件路徑。而且第乙個引數是不變的,即為nssearchpathdirectory 。在ios中後兩個引數也是不變的,即為:nsuserdomainmask 和 yes。nsstring *ourdocumentpath =[documentpaths objectatindex:0]; 

sqlite:採用sqlite資料庫來儲存資料。sqlite作為一中小型資料庫,應用ios中,跟前三種儲存方式相比,相對比較複雜一些。還是一步步來吧!  

第一步:需要新增sqlite相關的庫以及標頭檔案:在專案檔案的build phases下,找到link binary library(ies),新增libsqlite3.0.dylib(libsqlite3.dylib與前者的區別暫時不知,兩者應該差不多);在專案檔案中標頭檔案或者原始檔中新增標頭檔案#import 「/usr/include/sqlite3.h」第二步:開始使用sqlite:使用前注意:如果不往資料庫裡面新增任何的表,這個資料庫等於沒有建立,不會在硬碟上產生任何檔案,如果資料庫已經存在,則會開啟這個資料庫。

IOS四種儲存方式

1 nskeyedarchiver 採用歸檔的方式來儲存資料,該資料物件需要遵守nscoding協議,並且該物件對應的類必須提供encodewithcoder 和initwithcode 方法。前乙個方法告訴系統怎麼對物件進行編碼,後乙個方法告訴系統怎麼對物件進行解碼。缺點 只能一次性歸檔儲存以及一...

資料儲存之四種方式之一

sharedpreferences share super.getsharedpreferences filename,mode private 取得例項 sharedpreferences.editor edit share.edit edit.putstring book red and bla...

小知識 docker 四種資料儲存方式

預設方式,容器本身管理自己的資料,容器檔案系統實際是一系列唯讀的檔案層和最上層的容器可寫檔案層組成,最上層的容器可寫檔案層保留容器執行過程中產生的所有資料修改,這些層的管理是利用容器的storage drivers實現 預設是overlay2,可以通過docker的dameon.json配置檔案修改...