iOS 數據持久化

iOS 數據持久化sql

在iOS中,經常使用的數據持久化操做有四種:plist文件,NSUserdefaults,SQLite3,CoreData.數據庫

Plist文件:也就是咱們常說的屬性列表,它是一種明文的輕量級存儲方式,存儲的格式有不少種,最常規的是XML格式.Plist文件只能用數組或者字典進行讀取.數組

優勢:安全

  1. 用來存儲少許的數據,響應速度快
    服務器

  2. 其賦值方式簡單app

缺點:框架

    1.正如優勢同樣,只能存儲少許數據,不能存儲大文件數據spa

    2.明文存儲,因此其安全性欠缺設計


NSUserdefaults : 適合存儲輕量級的本地數據,好比要保存一個登錄界面的數據,用戶名、密碼之類的.sqlite

其優勢與plist文件差很少.可是在使用NSUserdefaults的時候,特別須要注意,由於它不是即時將數據寫入文件的,爲了防止數據丟失,咱們一般須要在後面就手動將其寫入文件.

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:@"name" forKey:@"name"];
    [defaults synchronize];


SQLite3 :  是一個輕量級,跨平臺的小型數據庫,其擁有可移植性高、有着和MySql幾乎相同的數據庫語句以及無需服務器便可使用的優勢:

1.能夠存儲大量的數據,存儲和檢索的速度很是快;

2.能對數據進行大量的聚合,這樣比起使用對象來進行這些操做要快。

缺點:

1.它沒有提供數據庫的建立方式;

2.它基於C語言框架設計,沒有面向對象的API,因此使用起來比較麻煩;

3.複雜的數據模型的數據建表相對而言比較麻煩。

4.sqlite語句複雜

CoreData : 蘋果官方iOS5以後推出的綜合型數據庫,其使用了ORM(Object Relational Mapping)對象關係映射技術,將對象轉換成數據,存儲在本地數據庫中。coreData爲了提升效率,甚至將數據存儲在不一樣的數據庫中,且在使用的 時候將本地數據放到內存中使得訪問速度更快。咱們能夠選擇coreData的數據存儲方式,包括sqlite、xml等格式。但也正是coreData 是徹底面向對象的,其在執行效率上比不上原生的數據庫。除此以外,coreData擁有數據驗證、undo等其餘功能,在功能上是四種持久化方案最多的。

相關文章
相關標籤/搜索