NSCoder 進行資料的歸檔解檔

2021-07-23 04:32:36 字數 1302 閱讀 4968

首先我們建立乙個wkuser類,來儲存使用者的基本資訊。

#import

#import @inte***ce wkuser : nsobject@property (nonatomic,strong) nsstring *name;

@property (nonatomic,strong) nsstring *age;

@property (nonatomic,strong) uiimage *headimage;

@end

我們遵守nscoding協議,然後在.m檔案實現。

#import "wkuser.h"

@implementation wkuser

- (instancetype)initwithcoder:(nscoder *)adecoder

return self;

}- (void)encodewithcoder:(nscoder *)acoder

@end

在controller中,我們進行歸檔解檔的操作。

nslog(@"%@",nshomedirectory());

nsarray *codepath= nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);

//單個存檔

//單個解檔

wkuser *myself = [nskeyedunarchiver unarchiveobjectwithfile:_storagepath];

nslog(@"%@~~%@~~~%@",myself.name,myself.age,myself.headimage);

/*也可以把所有的wkuser組成乙個陣列,作為整體進行存檔解檔。

缺點:以這種方式儲存資料只能一次性歸檔儲存以及一次性解檔。資料較少的時候使用很方便。

資料量過多的時候,如果想修改其中的某一條、解壓整個資料然後歸檔整個資料還是比較耗時的。

*/

利用runtime進行歸檔解檔

做過ios開發的應該都知道資料的本地化的方式,其中歸檔就是其中的一種。說實話,在本人在專案中並不是很常用歸檔來進行資料的本地儲存。今天之所以寫這篇部落格是因為最近了解到原來我們還能利用runtime進行歸檔和解檔。先來看一下我們之前的歸檔 解檔 例如我們要對person這個擁有name和age屬性的...

用Oracle歸檔日誌進行資料庫恢復的方法

部落格分類 oracle資料庫備份的方法很多,下面就為您介紹用oracle歸檔日誌進行資料庫恢復的方法,希望對您學習oracle歸檔日誌和資料庫備份能有所幫助。聯機重演日誌沒有丟失應使用完成恢復,如聯機重演日誌損壞,而又沒有備份,就只能進行不完全恢復。一 完全恢復 1 使用命令 svrmgrl 呼叫...

資料儲存 歸檔解檔

pragma mark 實現協議方法 1.在 歸檔 的時候呼叫 歸檔 指的就是把物件寫入到檔案的過程 告訴系統,如何對當前物件進行歸檔 寫入檔案 void encodewithcoder nscoder encoder 2.在 反歸檔 的時候呼叫 反歸檔 指的是從檔案中讀取物件的過程 如何將讀取到的...