當前位置:成語大全網 - 新華字典 - ios 怎麽讀取數據庫的第幾個表文件

ios 怎麽讀取數據庫的第幾個表文件

壹、沙盒機制

1、什麽是沙盒?

每壹個iOS應用程序都會為自己創建壹個文件系統目錄(文件夾),這個獨立、封閉、安全的空間,叫做沙盒。

2、沙盒機制(SandBox)

沙盒是壹種安全體系。

它規定了應用程序只能在為該應用程序創建的文件夾(沙盒)內訪問文件,不可以訪問其它沙盒內的內容(iOS8之後已經部分開放訪問)。

所有的非代碼文件都保存在這個地方,比如圖片、聲音、屬性列表(plist)、sqlite數據庫和文本文件等。

3、沙盒機制的特點:

每個應用程序的活動範圍都限定在自己的沙盒裏。

不能隨意跨越自己的沙盒去訪問別的應用程序沙盒中的內容。

應用程序向外請求或接收數據都需要經過權限認證。

4、查找某個應用程序的沙盒有兩種方式

第壹種:

點擊[前往]->同時按住Alt鍵->選中[資源庫]->選中Developer文件夾->CoreSimulator->Devices->59DB5213FA4C4DACB3671326E0201C01->data->Containers->Data->Application->01EA9151E7BC4A19A39D38D61D4356A0

紅色字體的路徑表示設備(模擬器)的路徑

藍色字體的路徑表示應用程序沙盒的路徑

代碼實現(舉例:獲取Documents和Caches目錄路徑):

第二種:

應用程序的沙盒目錄下會有三個文件夾Documents、Library(下面有Caches和Preferences目錄)、tmp。

Documents:存儲永遠不會被刪除的文件,會被iTunes同步,會備份到電腦上,如果需要可以從電腦中取出(在這個文件夾中不能存儲過大的文件:如視頻,音頻,圖片)在程序退出的時候不會被刪除,但是會被同步。

Library:

Caches(緩存):這個文件夾的作用主要是用來緩存壹些像視頻、音頻、圖片這樣的內容(SDWebImage緩存的圖片就存在這個文件夾中)在程序退出的時候不會被刪除,也不會被同步。

Preferences(偏好設置):保存應用程序的偏好設置,iTunes會自動備份此目錄,這個目錄中的內容會使用NSUserDefaults去取。

tmp:臨時文件夾用來存取臨時數據,臨時數據是說刪除就刪除,在應用程序重啟的時候都會被刪除掉,不會被備份,iTunes也不會同步該目錄。

代碼實現(獲取Documents和Library目錄路徑):

tmp文件查找方式:

二、簡單對象的寫入與讀取

1、iOS中提供4種簡單對象類型可以直接進行文件存取:NSString(字符串)、NSArray(數組)、NSDictionary(字典)、NSData(數據)。包括他們的子類。

2、簡單對象的寫入/讀取:

代碼示例(字符串):

成功寫入沙盒的文件:

代碼示例(圖片):

成功寫入沙盒的圖片:

三、復雜對象的寫入與讀取

1、復雜對象是指在Foundation框架內不存在的數據類,如自定義Person類無法再程序內通過writeToFile:這個方法寫入到文件內。

2、歸檔與反歸檔(解檔)

歸檔就是通過將復雜對象(自定義Person類型的對象)轉換為NSData類型對象,即為復雜對象的本地化,這個對象必須遵守NSCoding協議,並實現協議中的兩個方法。

復雜對象->歸檔->NSData->writeToFile。

反歸檔就是將NSData轉換為復雜對象。

讀取文件->NSData->反歸檔->復雜對象。

代碼示例: