iOS 对象归档(1) 对foundation中对象进行归档

MainController.h

/*
 数据持久化是通过文件将数据存储在磁盘上
 四中数据持久化方式:
 1.属性列表(Property List)
 2.对象归档
 3.SQLite
 4.CoreDate
 
 对比:
 1.属性列表、对象归档适合小数据量存储和查询操作
 2.SQLite、CoreDate适合大数据量存储和查询操作
 
 对象归档:
 对象归档是将对象归档以文件的形式保存到磁盘中(也称为序列化,持久化),使用的时候读取该文件的保存路径
 读取文件的内容(也称为接档,反序列化)。
 (对象归档的文件是保密的,在磁盘上无法查看文件中的内容,而属性列表是明文的,可以查看)
 对象归档有两种方式:1:对foundation中对象进行归档  2:自定义对象归档
 
 */
#import <UIKit/UIKit.h>

@interface MainController : UIViewController

@end

MainController.m

#import "MainController.h"

@interface MainController ()

@end

@implementation MainController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    //获取根目录
    NSString *homeDirectory=NSHomeDirectory();
    NSString *path=[homeDirectory stringByAppendingFormat:@"test.archiver"];
    NSArray *array=@[@"abc",@"123",@"def",@"wto"];
    BOOL flag=[NSKeyedArchiver archiveRootObject:array toFile:path];
    if (flag) {
        NSLog(@"归档成功");
    }
    
    //读取的文档内容
    NSArray *array2=[NSKeyedUnarchiver unarchiveObjectWithFile:path];
    NSLog(@"归档数据:%@",array2);
    
    
    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值