1. 程式人生 > >iOS中資料持久化

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-資料持久化之Sqllite

iOS中的資料儲存方式 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

reactredux利用redux-persist資料持久化

前端資料需要存在本地,來避免多次請求,提高前端效率。可以選的有cookie,localstorage,localsession各中區別,主要的就是大小限制等 比如登入資訊,管理系統的許可權,選單列表等,還是選擇存localstorage/localsession吧。在每次請求到資料後都去

iOS 資料持久化 CoreData的版本遷移

一般程式app升級時,資料庫有可能發生改變,如增加表字段,增加表等。 此時有兩種操作: 第一種就是毫無留情的把本地舊資料庫直接刪掉,重新建立新的資料庫; 第二種就是資料庫遷移,更新資料庫。 第一種情況是簡單粗暴型,但不會保留任何歷史資料,一般不推薦使用。 這裡主要介紹第二

iOS 資料持久化 CoreData

            CoreData是iOS3.0後引入的資料持久化解決方案, 是一種物件關係對映(ORM), 例如java後臺中的Hibernate, iOS中ORM框架首先CoreDat

ios使用 NSJSONSerialization對 json資料的解析

 Object Notation) 是一種輕量級的資料交換格式,它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的資料交換語言。

IOSNSUserDefaults的用法(輕量級本地資料儲存)

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