iOS开发:沙盒存储类对象

本文介绍了在iOS开发中如何使用沙盒存储类对象,包括创建对象、赋值、归档与反归档操作。通过NSKeyedArchiver进行对象的存储,并详细解释了对象编码解码过程,以及NSFileManager在文件系统中的增删查操作。
摘要由CSDN通过智能技术生成

iOS开发:沙盒存储类对象

1、建立一个类,初始化一个对象并赋值

 Test *test = [[Testalloc]init];

    test.name = @"沙盒";

    [test setGender:@"男"];

    [test setAge:20];

2、沙盒存储:

    NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documents = [array lastObject];

    NSString *documentPath = [documents stringByAppendingPathComponent:@"TEST.av"];

//存储:

/*      

  ***重点:对象类型数据不能直接写入文件,需要通过归档和返归档(即写入和读取)

         */

        //归档

    [NSKeyedArchiver archiveRootObject:test toFile:documentPath];

        //返档

    Test *result = [NSKeyedUnarchiver unarchiveObjectWithFile:documentPath];

//在类文件中要对对象编码、解码

//协议自带的两个方法:

#pragma mark 第二步:对test对象编码

- (void)encodeWithCoder:(NSCoder *)aCoder{

    [aCoder encodeObject:self.name forKey:@"name"];

    [aCoder encodeObject:self.gender forKey:@"gender"];

    [aCoder encodeInteger:self.age forKey:@"age"];

}


#pragma mark 第三步:对text对象解码

- (id)initWithCoder:(NSCoder *)aDecoder{


    self = [super init];

    if (self) {

        self.name = [aDecoder decodeObjectForKey:@"name"];

        self.gender = [aDecoder decodeObjectForKey:@"gender"];

        self.age = [aDecoder decodeIntegerForKey:@"age"];

    }


    return self;

}

结果如下表:但具体存储zhi


3.拓展:文件管理系统
创建一个文件管理器:

  NSFileManager *fileManager = [NSFileManager defaultManager];

 //文件系统下文件的增、删、查。

    (1).增:就是创建文件夹的过程,具体见沙盒;

    (2).查询文件管理器中指定路径下是否有某个文件

 BOOL isExist = [fileManager fileExistsAtPath:documentPath];

    (3).删除文件

  BOOL isRemoved = [fileManager removeItemAtPath:documentPath error:nil];







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值