歸檔 解歸檔(序列化 反序列化)

2021-07-06 10:59:06 字數 1610 閱讀 8293

我抱著乙個learner的態度。

贅言-第一天寫部落格有些無頭無腦,但是跨出第一步了。

歸檔(序列化、反序列化):將大資料存入本地的前一步操作。要將大資料存入本地,首先將大資料轉為nsdata(二進位制資料)。

終端的一點基本操作     ls  (磁碟下的內容)  pwd(根目錄)

先來個簡單的例子,流程如下:

0.可以使用終端獲取乙個路徑  

#define kfilepath @"/users/lichunlei/desktop/myfile.plist"

1.建立字典或者陣列。

2.建立乙個可變的資料型別(nsdata)。

3.初始化乙個歸檔器(nskeyedarchiver)(將會把資料型別傳入)。

4.使用歸檔器將字典或者陣列聯絡。(使用歸檔器的物件方法)。

5.結束歸檔。

6.將nsdata物件寫入指定路徑的檔案。

具體**如下:

#import "viewcontroller.h"

#define kfilepath @"/users/lichuilei/desktop/myfile.plist"

@inte***ce

viewcontroller()

@end

@implementation viewcontroller

- (void)viewdidload {

[super

viewdidload];

//plist  手動建立完成

終端 ls  pwd   前往

//    //字典的建立前面是值,後面是鍵

nsdictionary *dictionary = [nsdictionary

dictionarywithobjectsandkeys:@"

張三",@"z",@"

李四",@"l",nil];

nsarray

*array =

@[@"張飛",@"趙雲",@"馬超",@"黃巨集"];

//1建立乙個可變的資料

nsmutabledata*data = [[nsmutabledata

alloc

]init];

//2初始化歸檔器

傳入data(可以說把解析的資料全部放到data中去)。

nskeyedarchiver

*archiver =[[

nskeyedarchiver

alloc]initforwritingwithmutabledata:data];

//3歸檔器進行聯絡

歸檔通過key存值

//給字典、陣列歸檔(直譯:使用歸檔器歸檔編碼字典物件,使用key)

[archiver encodeobject:dictionary forkey:@"dic"];

[archiver encodeobject:array forkey:@"arr"];

//4完成歸檔

會停止

[archiverfinishencoding];

//5.將data寫入指定的檔案

[data writetofile:

kfilepath

atomically:

yes];

IOS 歸檔 即序列化與反序列化

小弟很久沒有更新了 最近在往ios上靠 ios中的歸檔 即是我們所知道的序列化和反序列化 我們可以用plist來儲存比較簡單的資料型別 但是如果我想把自己定義的型別進行持久化呢?這就要用到序列化了 下面貼 先是自定義乙個自己的類 需要繼承 nscoding 介面 我是分隔線 import inte ...

IOS 歸檔 即序列化與反序列化

小弟很久沒有更新了 最近在往ios上靠 ios中的歸檔 即是我們所知道的序列化和反序列化 我們可以用plist來儲存比較簡單的資料型別 但是如果我想把自己定義的型別進行持久化呢?這就要用到序列化了 下面貼 先是自定義乙個自己的類 需要繼承 nscoding 介面 我是分隔線 import inte ...

序列化反序列化

只要用到網路開發啊,就一定會用到序列化反序列化。1,自定義結構體 struct test int len int type char data 10 test data test buffer.缺點 明文,只支援基本型別,不支援變長結構 2,在1的基礎上,自定義乙個緩衝類,存放乙個訊息。把訊息寫入緩...