NSKeyedArchiver歸檔儲存

2021-07-12 01:14:04 字數 1158 閱讀 9164

一、儲存普通資料

1、獲取沙盒儲存路徑

獲取沙盒儲存路徑

nsstring *doc = [nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes) lastobject];

獲取儲存檔案路徑

2、儲存資料

nsarray *data = @[@"abc",@23];

[nskeyedarchiver archiverrootobject:data tofile:self.plstpath];

二、物件儲存(class)

如果物件是nsstring、nsdictionary、nsarray、nsdata、nsnumber等型別,可以直接用nskeyedarchiver進行歸檔和恢復, 但不是所有的物件都可以直接用這種方法進行歸檔,只有遵守了nscoding協議的物件才可以。
nscoding協議方法

1、歸檔物件person.m設定

@implementation

person

//儲存資料需要實現的方法

- (void)encodewithcoder:(nscoder *)encoder

//讀取資料需要實現的方法

- (id)initwithcoder:(nscoder *)decoder

}- (void)dealloc

@end

2、儲存物件person

person  *person = [[person alloc] init];

person.name = @"張三"

;person.age = 27

[nskeyedarchiver archiverrootobject:person tofile:self.plstpath];

3、讀取資料

person *person = [nskeyedunarchiver unarchiverobjectwithfile:self.plistpath];

nslog(@"name:%@,age:%@",person.name,person.age);

NSKeyedArchiver的基礎用法

如下 cpp view plain copy print?nsstring str abc nsstring astr efg nsarray array nsarray arraywithobjects str,astr,nil 儲存資料 nskeyedarchiver archiverootob...

資料儲存 NSKeyedArchiver 一

在 ios 開發中,資料儲存的其中一種方式是將乙個物件直接存到檔案中。直接將乙個物件存到檔案要使用的類是nskeyedarchiver。而要將儲存在檔案中的物件讀取出來就要使用到另乙個類nskeyedunarchiver。這兩個類是成對出現的,但使用這兩個類儲存物件到檔案或從檔案中解析物件是有條件的...

資料持久化 NSKeyedArchiver

1.基本的資料型別如 nsstring nsdictionary nsarray nsdata nsnumber等可以直接用nskeyedarchiver歸檔和恢復。2.不是所有的物件都可以直接用這種方法歸檔,只有遵守了nscoding協議的物件才可以。3.nscoding的協議有2個方法 void...