zoukankan      html  css  js  c++  java
  • 自定义类的归解档

    @interface Student : NSObject

    @property (strong,nonatomic) NSString *name;

    @property (assign,nonatomic) int age;

    @property (assign,nonatomic) char sex;

    -(Student *)initWithDictionary:(NSDictionary *)dic;

    @end

    @implementation Student

    -(Student *)initWithDictionary:(NSDictionary *)dic

    {

        self = [super init];

        if (self) {

            self.name = dic[@"name"];

            self.age = [dic[@"age"] intValue];

            self.sex = [dic[@"sex"] charValue];

        }

        return self;

    }

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

       

        NSDictionary *dic = @{@"name":@"lisi",@"age":@"30",@"sex":@'M'};

        Student *stu = [[Student alloc] initWithDictionary:dic];

        //归档

        NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:@"student.tt"];

        

        NSMutableData *data = [NSMutableData data];

        NSKeyedArchiver *keyArcher = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

        [keyArcher encodeObject:stu.name forKey:@"name"];

        [keyArcher encodeInt:stu.age forKey:@"age"];

        [keyArcher encodeInt:stu.sex forKey:@"sex"];

        

        [keyArcher finishEncoding];

        BOOL bol = [data writeToFile:path atomically:YES];

        NSLog(@"%d",bol);

        NSLog(@"%@",path);

        

        

        

        //解档

        

        NSData *data1 = [NSData dataWithContentsOfFile:path];

        NSKeyedUnarchiver *keyUn = [[NSKeyedUnarchiver alloc] initForReadingWithData:data1];

        

        NSString *name = [keyUn decodeObjectForKey:@"name"];

        int age = [keyUn decodeIntForKey:@"age"];

        char sex = [keyUn decodeIntForKey:@"sex"];

        

        NSLog(@"name = %@,age = %d,sex = '%c'",name,age,sex);

       

    }

  • 相关阅读:
    JQUERY 判断选择器选择的对象 是否存在
    js的reduce方法,改变头等函数
    盒模型 bug 与触发 bfc
    CSS(四)float 定位
    CSS(三)背景 list-style display visibility opacity vertical cursor
    css 负边距
    CSS(二) 颜色 盒模型 文字相关 border
    CSS(一) 引入方式 选择器 权重
    html总结
    主流浏览器及内核
  • 原文地址:https://www.cnblogs.com/wujie123/p/5304582.html
Copyright © 2011-2022 走看看