序列化 資料 並 寫入檔案 plist

2021-06-06 13:53:53 字數 1771 閱讀 7318

其一:一般的資料

1:nsarray *arr = [nsarray arraywithobjects:@"one",@"two",@"three",nil];//注:最後乙個要以nil結尾

[arr writetofile:@"/tmp/data.txt" tatomically:yes];

//(序列化為xml格式後)儲存檔案

nsarray *arr2 = [nsarray arraywithcontentsoffile:file_name];//read file

nslog(@"%@",arr2);

2:[nskeyedarchiver archiverootobject:arr tofile:filepath];

其二:類物件的資料(重點)

首先要將該類 實現 序列化,在.h檔案中 實現 nscoding協議

@inte***ce contactinformation : nsobject

@property(nonatomic,copy)nsstring * firstname;// 名字

@property(nonatomic,copy)nsstring * lastname;// 姓氏

@property(nonatomic,copy)nsstring * fullname;// 全名

@property(nonatomic,copy)nsstring * nickname;// 暱稱

@property(nonatomic,copy)nsstring * englishname;// 英文名

@property(nonatomic,copy)nsstring * birthday; // 生日 format: 19800101

@property(nonatomic,copy)nsstring * mobile;// 手機

@property(nonatomic,assign)nsinteger userid;//id

- (id) initwithcontactfirstname:(nsstring *) _firstname

lastname:(nsstring *) _lastname

fullname:(nsstring *) _fullname

nickname:(nsstring *) _nickname

englishname:(nsstring *) _englishname 

birthday:(nsstring *) _birthday

mobile:(nsstring *) _mobile

userid:(nsinteger)_userid;//id;

@end

在.m中實現 序列化 和 反序列化 方法

//將物件編碼(即:序列化)

- (void)encodewithcoder:(nscoder *)acoder

//將物件解碼(反序列化)

- (id) initwithcoder:(nscoder *)adecoder

return self;

}//將 該類 些入 檔案的**

//上面的**是 乙個 獲得上面的物件類陣列的 查詢類,呼叫其類方法

//    [array writetofile:path atomically:yes];

bool boo=[nskeyedarchiver archiverootobject:array tofile:path];

nslog(@"bool : %d",boo);

[array release];

JSON和plist的序列化和反序列化

nsdata data nsdata alloc init nsdictionary dic nsdictionary dictionary nsjsonserialization jsonobjectwithdata dataoptions nsjsonreadingmutablecontaine...

C XmlSerializer 序列化,寫入檔案

xmlserializer 將物件序列化到 xml 文件中和從 xml 文件中反序列化物件,xml 序列化是將物件的公共屬性 property 和字段轉換為序列格式 這裡是指 xml 以便儲存或傳輸的過namespace public string name class program t.id 1...

檔案序列化

1 概念 將資料以二進位製流的方式依次寫入到檔案或者從檔案中讀取的過程 2 相關類 carchive類 完成具體的資料讀寫 可代替cfile類的read write函式 carchive cfile pfile,uint nmode,int nbufsize 4096,void lpbuf null...