iOS本地數(shù)據(jù)存取的四種方式

在學(xué)習(xí)本地數(shù)據(jù)存取的時候我們首先介紹一下iOS中的一個存儲介質(zhì)應(yīng)用沙盒。每個iOS的應(yīng)用都有自己的應(yīng)用沙盒(應(yīng)用沙盒就是文件系統(tǒng)目錄),與其他文件系統(tǒng)隔離。應(yīng)用必須待在自己的沙盒里,其他應(yīng)用不能訪問該沙盒。應(yīng)用沙盒結(jié)構(gòu)分析:

1、應(yīng)用程序包:包含所有的資源文件和可執(zhí)行文件

2、Documents:保存應(yīng)用運行時生成需要持久化的數(shù)據(jù),iTunes同步設(shè)備時會備份該目錄。例如:游戲應(yīng)用可將游戲存檔保存在該目錄。

3、tmp:保存應(yīng)用運行時所需的臨時數(shù)據(jù),使用完畢后,再講相應(yīng)的文件從該目錄刪除。應(yīng)用沒有運行時,系統(tǒng)可能會消除該目錄下的文件,iTunes同步設(shè)備是不會備份該目錄。

4、Library/Caches:保存應(yīng)用運行時生成的需要持久化的數(shù)據(jù),iTunes同步設(shè)備時不會備份該目錄。一般存儲體積大、不需要備份的非重要的數(shù)據(jù)

5、Library/Preference:保存應(yīng)用的偏好設(shè)置,iOS的Setting應(yīng)用會在該目錄中查找應(yīng)用的設(shè)置信息。iTunes同步設(shè)備時備份該目錄。

?應(yīng)用的沙盒目錄的常見的獲取方式

?獲取沙盒路徑:NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

iOS應(yīng)用數(shù)據(jù)存儲的常用方式

1、XML屬性列表(plist)歸檔

2、偏好設(shè)置(Preference)

3、NSCoding

4、SQLite3

5、Core Date

XML屬性列表(plist)歸檔

?屬性列表是一種XML格式,拓展名為plist

?如果對象是一些OC對象,就可以使用wirteToFile:atomically:方法直接將對象寫到屬性列表文件中,使用這個方法可以用來獲取文件的沙盒

下面使用歸檔將數(shù)據(jù)寫成plist文件如圖所示:

偏好設(shè)置(Preference)

?很多iOS應(yīng)用都支持偏好設(shè)置,比如登錄保存用戶名、密碼,iOS提供了一套標(biāo)準(zhǔn)的解決方案來用用加入偏好設(shè)置功能不能

?每個應(yīng)用都有NSUserverDefaults實例,通過它來存取偏好設(shè)置

NSCoding(歸檔)

?對象如果是OC隊形可以直接使用NSKeyedArchiver進(jìn)行歸檔和恢復(fù)(不是所有的OC對象都能使用NSKeyedArchiver)
這種方式來進(jìn)行歸檔和接檔操作的只有遵守NSCoding協(xié)議的對象才可以使用NSKeyedArchiver來進(jìn)行解檔和歸檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容