天天看點

iOS開發UI篇—ios應用資料存儲方式(歸檔)

一、簡單說明

在使用plist進行資料存儲和讀取,隻适用于系統自帶的一些常用類型才能用,且必須先擷取路徑相對麻煩;

偏好設定(将所有的東西都儲存在同一個檔案夾下面,且主要用于存儲應用的設定資訊)

歸檔:因為前兩者都有一個緻命的缺陷,隻能存儲常用的類型。歸檔可以實作把自定義的對象存放在檔案中。

二、代碼示例

1.檔案結構

iOS開發UI篇—ios應用資料存儲方式(歸檔)

2.代碼示例

yyviewcontroller.m檔案

iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)

建立一個person類

yyperson.h檔案

iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)

yyperson.m檔案

iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)

3.列印效果和兩個重要的錯誤提示

點選儲存按鈕和讀取按鈕,成功列印結果如下:

iOS開發UI篇—ios應用資料存儲方式(歸檔)

關于不實作兩個協定方法的錯誤提示:

-(void)encodewithcoder:(nscoder *)acoder方法:

iOS開發UI篇—ios應用資料存儲方式(歸檔)

-(id)initwithcoder:(nscoder *)adecoder方法:

iOS開發UI篇—ios應用資料存儲方式(歸檔)

三、繼承類中的使用

建立一個學生類,讓這個類繼承自preson這個類,增加一個體重的屬性。

yystudent.h檔案

iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)

yystudent.m檔案

iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)

點選儲存按鈕和讀取按鈕後的列印輸出:

iOS開發UI篇—ios應用資料存儲方式(歸檔)

四、重要說明

1.儲存資料過程:

iOS開發UI篇—ios應用資料存儲方式(歸檔)
iOS開發UI篇—ios應用資料存儲方式(歸檔)

2.讀取資料過程:

3.遵守nscoding協定,并實作該協定中的兩個方法。

4.如果是繼承,則子類一定要重寫那兩個方法。因為person的子類在存取的時候,會去子類中去找調用的方法,沒找到那麼它就去父類中找,是以最後儲存和讀取的時候新增加的屬性會被忽略。需要先調用父類的方法,先初始化父類的,再初始化子類的。

5.儲存資料的檔案的字尾名可以随意命名。

6.通過plist儲存的資料是直接顯示的,不安全。通過歸檔方法儲存的資料在檔案中打開是亂碼的,更安全。

繼續閱讀