归档、解归档(序列化、反序列化)

来源:互联网 发布:webservice json传递 编辑:程序博客网 时间:2024/06/07 09:48

我抱着一个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"

@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    //plist  手动创建完成  终端 ls  pwd   前往

//    //字典的创建前面是值,后面是键

   NSDictionary *dictionary = [NSDictionarydictionaryWithObjectsAndKeys:@"张三",@"z",@"李四",@"l",nil];


    NSArray *array =@[@"张飞",@"赵云",@"马超",@"黄宏"];


    //1创建一个可变的数据

    NSMutableData *data = [[NSMutableDataalloc]init];

    //2初始化归档器  传入data(可以说把解析的数据全部放到data中去)。

    NSKeyedArchiver *archiver =[[NSKeyedArchiveralloc]initForWritingWithMutableData:data];

    //3归档器进行联系 归档 通过key存值

    //给字典、数组 归档(直译:使用归档器归档编码字典对象,使用key

    [archiver encodeObject:dictionary forKey:@"Dic"];

    [archiver encodeObject:array forKey:@"Arr"];

    //4完成归档 会停止

    [archiverfinishEncoding];

    //5.data写入指定的文件

    [data writeToFile:kFilePathatomically:YES];



0 0
原创粉丝点击