OC 歸檔和解檔 總結

2021-06-22 22:43:30 字數 1821 閱讀 3016

//自定義物件實現協議

.m 檔案內實現2個方法 (例子)

-(void)encodewithcoder:(nscoder *)acoder

- (id)initwithcoder:(nscoder *)adecoder

return self;

}//歸檔自定義的型別

person *tom =  [[person alloc]initwithname:@"tom" andage:12];

person *tom2 = [[person alloc]initwithname:@"tom2" andage:12];

person *tom3 = [[person alloc]initwithname:@"tom3" andage:12];

nsmutablearray *classarr = [nsmutablearray array];

[classarr addobject:tom];

[classarr addobject:tom2];

[classarr addobject:tom3];

nsstring *path = @"/users/administrator/desktop/class.plist";

bool flag = [nskeyedarchiver archiverootobject:classarr tofile:path];

if (flag)

else

return 0;

//foundation框架自帶型別的歸檔和解歸檔

//nsstring物件

nsstring *name = @"tom";

nsstring *str = [[nsstring alloc]initwithformat:@"hello,%@",name];

//給定路徑

nsstring *path = @"/users/administrator/desktop/str";

bool flag =  [str writetofile:path atomically:yes encoding:nsutf8stringencoding error:nil];

if (flag)

nsstring *string = [nsstring stringwithcontentsoffile:path];

//nsarray歸檔

[fruits writetofile:arrpath atomically:yes];

//解歸檔

//使用乙個plist檔案進行初始化,建立陣列

nsarray *list = [nsarray arraywithcontentsoffile:arrpath];

nslog(@"list= %@",list);

nsdictionary *ranklist = [nsdictionary dictionarywithobjectsandkeys:@"90",@"xiaowang",@"60",@"xiaoli",@"21",@"xiaokang", nil];

nsstring *dicpath = @"/users/administrator/desktop/ranlist.plist";

//nsdictionary歸檔

[ranklist writetofile:dicpath atomically:yes];

//nsdictionary解歸檔

nsdictionary *ranklist2 = [nsdictionary   dictionarywithcontentsoffile:dicpath];

void file()

else

else

}

歸檔和解檔

針對於歸檔和解檔,在日常工作當中用的不多,但是它的原理很重要,所以有必要我們重點學習一下 歸檔是 寫入磁碟前將自定義物件轉換成二級制資料,解檔是 將磁碟上的二級制資料轉換成自定義物件 1.建立乙個person物件,寫屬性,遵守協議 在person.h檔案中 import inte ce person...

歸檔和解檔

歸檔 encoder 它是將自定義的物件寫入磁碟前將物件轉成二進位制然後存入磁碟。解檔 decoder 它是將磁碟上儲存的二進位制資料轉換成自定義物件。eg 自定義乙個person物件 h 檔案中 property nonatomic,copy nsstring name property nona...

歸檔和解檔 Archiver

一 概念 1.歸檔用於儲存物件,包括被歸檔物件之間的各種相互關係或者依賴性。解檔用於重建以前歸檔的物件與關係。在其它物件導向的語言中,一般使用術語 序列化 來描述歸檔解檔模式。2.歸檔的物件通常儲存為二進位制資料,可以在記憶體或者磁碟中讀取,寫入。不過在cocoa中,也有一些物件使用xml檔案進行歸...