2015-11-10 iOS开发课程培训总结(十七)

//

//  main.m

//  1110 归档

//

//  Created by 非凡程序员 on 15/11/10.

//  Copyright (c) 2015 非凡程序员. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        

        

//        创建一个可变大小的文件流

        

        NSMutableData *mudataManager = [[NSMutableData alloc]init];

        

        

//        把用归档格式的数据传值给可变大小的文件流

        

        NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:mudataManager];

        

//        把集合数据以归档形式编码

    

        [archiver encodeObject:@[@"1",@"2"] forKey:@"number"];

        [archiver encodeObject:@{@"rr":@"RR",@"yy":@"YY"} forKey:@"dd"];

        

//        完成归档

        [archiver finishEncoding];

        

//        把归档过来的可变大小数据流 写入文件中 永久存储

        [mudataManager writeToFile:@"/Users/feifanchengxuyuan/desktop/file2.txt" atomically:YES];

        

        

//        创建一个NSFileManager类型的对象

        

        NSFileManager *fileManage = [NSFileManager defaultManager];

        

//        NSData文件流接收从PATH路径读取出来的文件内容

        NSString *PATH = @"/Users/feifanchengxuyuan/desktop/file2.txt";

        

        NSData *fileData = [fileManage contentsAtPath: PATH];

        

        

//    实例化一个解档对象 注意:初始化为解档格式并要放入要解档的数据流

        

        NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:fileData];

        

//        输入要解档的key

        

        NSArray *arrayUnArchiver = [unArchiver decodeObjectForKey:@"number"];

        

        NSLog(@"arrayUnArchiver:%@",arrayUnArchiver[0]);

        

        NSArray *arrayUnArchiverI = [unArchiver decodeObjectForKey:@"dd"];

        

        NSLog(@"arrayUnArchiverI:%@",arrayUnArchiverI);

        

        

        

        

        

    }

    return 0;

}


你可能感兴趣的:(2015-11-10 iOS开发课程培训总结(十七))