iOS中資料持久化
概論
所謂的持久化,就是將資料儲存到硬碟中,使得在應用程式或機器重啟後可以繼續訪問之前儲存的資料。在iOS開發中,有很多資料持久化的方案,這裡就介紹常用的5中方法:
-
plist檔案(屬性列表)
-
preference(偏好設定)
-
NSKeyedArchiver(歸檔)
-
SQLite 3
-
CoreData
沙盒
在介紹各種儲存方法之前,有必要說明以下沙盒機制。iOS程式預設情況下只能訪問程式自己的目錄,這個目錄被稱為“沙盒”。
1.結構
既然沙盒就是一個資料夾,那就看看裡面有什麼吧。沙盒的目錄結構如下:
1 2 3 4 5 6 |
"應用程式包"
Documents
Library
Caches
Preferences
tmp
|
2.目錄特性
雖然沙盒中有這麼多資料夾,但是沒有資料夾都不盡相同,都有各自的特性。所以在選擇存放目錄時,一定要認真選擇適合的目錄。
"應用程式包": 這裡面存放的是應用程式的原始檔,包括資原始檔和可執行檔案。
1 2 |
NSString *path = [[NSBundle mainBundle] bundlePath];
NSLog(@ "%@" , path); |
Documents: 最常用的目錄,iTunes同步該應用時會同步此資料夾中的內容,適合儲存重要資料。
1 2 |
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@ "%@" , path);
|
Library/Caches: iTunes不會同步此資料夾,適合儲存體積大,不需要備份的非重要資料。
1 2 |
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@ "%@" , path);
|
Library/Preferences: iTunes同步該應用時會同步此資料夾中的內容,通常儲存應用的設定資訊。
tmp: iTunes不會同步此資料夾,系統可能在應用沒執行時就刪除該目錄下的檔案,所以此目錄適合儲存應用中的一些臨時檔案,用完就刪除。
1 2 |
NSString *path = NSTemporaryDirectory();
NSLog(@ "%@" , path);
|
plist檔案
plist檔案是將某些特定的類,通過XML檔案的方式儲存在目錄中。
可以被序列化的型別只有如下幾種:
1 2 3 4 5 6 7 8 9 10 |
相關推薦iOS中資料持久化概論 所謂的持久化,就是將資料儲存到硬碟中,使得在應用程式或機器重啟後可以繼續訪問之前儲存的資料。在iOS開發中,有很多資料持久化的方案,這裡就介紹常用的5中方法: plist檔案(屬性列表) preference(偏好設定) iOS 中資料的傳遞說的資料的傳遞,在實際開發過程中往往是有兩種情況的(目前自認為) 第一種 A 控制器 --------------> B控制器 (A跳轉到B 同時傳值到B) 第二種(A 跳轉到B B傳值到A) 第一種傳值方法:屬性傳值 屬性創智適合A>B同時傳一 【IOS沉思錄】IOS的資料持久化(plist檔案讀寫操作)人生苦短,道阻且艱;修行不易,且行且努力。 【專業擅長領域】:iOS開發,遊戲開發,圖形學 【擅長平臺】:iOS平臺,Unity --------------------------------------------------------- 【個人主頁】:信厚 iOS - 資料持久化 - 檔案的寫入(簡單物件和複雜物件)資料持久化的本質 -資料儲存成檔案,儲存到程式的沙盒中 -在應用程式結束時,將記憶體中的資料以檔案的形式搬到(儲存到)硬碟中 沙盒機制(Sand box):是個安全機制-這就是ios和Mac系統安全的原因,就是因為它採用了沙盒機制 越獄之後沙盒機制被損壞了,應用程式之間 iOS中常用的四種資料持久化方法簡介OS中的資料持久化方式,基本上有以下四種:屬性列表、物件歸檔、SQLite3和Core Data NSUserDefaults,用於儲存配置資訊 SQLite,用於儲存查詢需求較多的資料 CoreData,用於規劃應用中的物件 使用基本物件型別定製的個性化快取方案1.屬性列表 涉及到的主要類:NSUs iOS中 常用的資料持久化方法對啊 就這麼簡單。 iOS中的資料持久化方式,基本上有以下四種:屬性列表、物件歸檔、SQLite3和Core Data 1.屬性列表 涉及到的主要類:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就夠用了@interface Us ios開發中的4種資料持久化方式iOS中的永久儲存,也就是在關機重新啟動裝置,或者關閉應用時,不會丟失資料。在實際開發應用時,往往需要持久儲存資料的,這樣使用者才能在對應用進行操作後,再次啟動能看到自己更改的結果與痕跡。ios開發中,我們需要資料持久化這一種技術,也需要不斷在實際開發的工作與學習中完善資 redis中資料的持久化redis中資料的持久化分為兩種:1.rdb,2.aof 1.rdb 在指定的時間內將記憶體中的資料集快照寫入磁碟,恢復時,直接將快照檔案讀取到記憶體中。 rdb儲存的是dump.rdb檔案(預設)。 在redis配置檔案中可以設定儲存的檔名稱,以及每次更新檔案的間隔時間 如果在開發過程 iOS-資料持久化之SqlliteiOS中的資料儲存方式 Plist(NSArray\NSDictionary) Preference(偏好設定\NSUserDefaults) NSCoding(NSKeyedArchiver\NSkeyedUnarchiver) SQLite3 Core Data iOS開發技巧之:iOS判斷兩個陣列中資料是否相同IOS開發之判斷兩個陣列中資料是否相同例項詳解 前言: 工作中遇到的問題,這裡記錄下,也許能幫助到大家 例項程式碼: ? 1 ios 資料持久化儲存說到資料儲存,我們不得不先了解下蘋果的沙盒 、如何獲取沙盒路徑和沙盒目錄下對應的檔案: 一、沙盒(sandbox) 每一個App都有一個儲存空間。iOS系統為每個應用程式建立自己的目錄,每個應用程式只能訪問自己的目錄,不能相互通訊。 沙盒主要包括下面幾個檔案:用模擬器執行 NS iOS開發簡記(8):資料持久化資料持久化,也就是把資料儲存到磁碟,以後可以再讀取出來使用(也可以再次更改或刪除)。很多場景需要資料持久化,比如為了減輕伺服器的訪問與儲存壓力,客戶端需要在本地做一些資料持久化的工作。 iOS的資料持久化,有幾種方式,包括:自定義格式的檔案、plist、CoreData、FMDB等等。 這裡 [Xcode10 實際操作]七、檔案與資料-(12)資料持久化儲存框架CoreData的使用:查詢CoreData中的資料本文將演示如何查詢資料持久化物件。 在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】 1 import UIKit 2 //引入資料持久化儲存框架【CoreData】 3 import CoreData 4 5 class ViewContro react中redux利用redux-persist資料持久化前端資料需要存在本地,來避免多次請求,提高前端效率。可以選的有cookie,localstorage,localsession各中區別,主要的就是大小限制等 比如登入資訊,管理系統的許可權,選單列表等,還是選擇存localstorage/localsession吧。在每次請求到資料後都去 iOS 資料持久化 CoreData的版本遷移一般程式app升級時,資料庫有可能發生改變,如增加表字段,增加表等。 此時有兩種操作: 第一種就是毫無留情的把本地舊資料庫直接刪掉,重新建立新的資料庫; 第二種就是資料庫遷移,更新資料庫。 第一種情況是簡單粗暴型,但不會保留任何歷史資料,一般不推薦使用。 這裡主要介紹第二 iOS 資料持久化 CoreDataCoreData是iOS3.0後引入的資料持久化解決方案, 是一種物件關係對映(ORM), 例如java後臺中的Hibernate, iOS中ORM框架首先CoreDat ios中使用 NSJSONSerialization對 json資料的解析Object Notation) 是一種輕量級的資料交換格式,它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的資料交換語言。 IOS中NSUserDefaults的用法(輕量級本地資料儲存)NSUserDefaults適合儲存輕量級的本地資料,比如要儲存一個登陸介面的資料,使用者名稱、密碼之類的,個人覺得使用NSUserDefaults是首選。下次再登陸的時候就可以直接從NSUserDefaults裡面讀取上次登陸的資訊咯。 因為如果使用自己建立的plist檔 Linux環境下在docker中配置Oracle資料庫並實現資料持久化一 CentOs安裝docker 前置條件: 64-bit 系統 kernel 3.10+ 作者以下操作皆在root使用者下進行 1.檢查核心版本,返回的值大於等於3.10即可。 # uname -r 2.確保yum是最新的 # yum up iOS 中使用JS提取網頁資料,自動提交表單等1.首先用一個webview載入網頁 webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)]; webView.delegate |