美文网首页
数据存储之归档

数据存储之归档

作者: 贼海鸥 | 来源:发表于2017-06-09 14:23 被阅读0次

    归档有两种方法:

    第一种:一个对象创建一个归档文件,缺点:太麻烦

    比如,归档一个数组

        NSArray *array = @[@"123" , @"abc" , @"132"];
        // 拿到创建用户的根路径
        NSString *homePath = NSHomeDirectory();
        NSLog(@"%@" , homePath);
        NSString *path = [homePath stringByAppendingPathComponent:@"text.yaalv"];
        BOOL success = [NSKeyedArchiver archiveRootObject:array toFile:path];
        if (success) {
            NSLog(@"归档成功");
        }
    

    解归档的方法

        NSString *homePath = NSHomeDirectory();
        NSLog(@"%@" , homePath);
        NSString *path = [homePath stringByAppendingPathComponent:@"text.yaalv"];
        NSArray *data = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
        NSLog(@"%@" , data[0]);
    

    第二种就是建一个归档文件,将要保存的内容归档

        NSString *homePath = NSHomeDirectory();
        NSLog(@"%@" , homePath);
        NSString *filePath = [homePath stringByAppendingPathComponent:@"custom.text"];
        NSMutableData *data = [NSMutableData data];
        NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
        [archiver encodeFloat:50.0 forKey:@"weight"];
        // @"李四"这里可以填任很多的数据的数据类型,比如数组什么的
        [archiver encodeObject:@"李四" forKey:@"name"];
        [archiver encodeInt:12 forKey:@"age"];
        [archiver finishEncoding];
        
        BOOL success = [data writeToFile:filePath atomically:YES];
        if (success) {
            NSLog(@"------归档成功");
        }
    

    解归档的方法

        NSString *homePath = NSHomeDirectory();
        NSLog(@"%@" , homePath);
        NSString *filePath = [homePath stringByAppendingPathComponent:@"custom.text"];
        NSData *data = [NSData dataWithContentsOfFile:filePath];
        NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
        NSString *name = [unarchiver decodeObjectForKey:@"name"];
        NSLog(@"name:%@" , name);
    

    本文demo下载:
    https://github.com/TheifSeaMew/-.git

    相关文章

      网友评论

          本文标题:数据存储之归档

          本文链接:https://www.haomeiwen.com/subject/irffqxtx.html