归档, 反归档, 清除缓存

1. 写宏的时候可以建一个只有header的头文件



2. #pragma mark 如果想要实现归档和反归档的操作需要签订一个协议 NSCoding

- (void)encodeWithCoder:(NSCoder *)aCoder { // 归档

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

    [aCoder encodeObject:self.sex forKey:@"性别"];

    [aCoder encodeObject:self.hobby forKey:@"爱好"];

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

}


- (id)initWithCoder:(NSCoder *)aDecoder { // 反归档

    self = [super init];

    if (self) {

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

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

        self.hobby = [aDecoder decodeObjectForKey:@"爱好"];

        self.sex = [aDecoder decodeObjectForKey:@"性别"];

    }

    return self;

}


3. 清除缓存(删除cache文件夹)

    NSArray *cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

    NSString *cachePath = cache[0];

    [manager removeItemAtPath:cachePath error:nil];


 

4. 苹果手机为了保证自己数据上的绝对的安全设计了沙盒文件, 每一个应用程序都配备了自己的沙盒文件, 每一次运行, 文件夹的名字就会变成一个没有任何规律的字符串

    

     第一个参数: 当前要前往哪一个文件夹, 前往documents文件用NSDocumentDirectory:64行那个, 还可以前往caches 文件夹:对应68

    

     第二个参数: 访问的文件夹类型, 指定访问时用户文件夹

    

     第三个参数

     绝对路径(YES):是给系统来使用的, 系统可以根据当前的路径找到文件夹, 我们在操作文件的时候都是用绝对路径

     相对路径(NO 几乎不用): 相对路径只会把要前往的文件夹显示, 其他部分都是~, 告诉程序员要去哪个文件


 

5. 沙盒里一共有三个文件夹

     1. Documents文件: 主要是用来存储用户的想要存储的一些信息, 比如收藏的信息或者自己设置的一些内容, 所以我们做收藏功能就是往这个文件夹里写东西

    

     2. Library 文件夹是方便程序开发者使用的, 主要操作它里的两个文件夹, caches Preferences

     caches: 用来保存缓存文件, SDWebImage 会把图片加到缓存文件中, 所以清除缓存功能就是把这个文件夹删除

     Preferences 一般来保存程序员设置的信息, 比如NSUserDefaults就会把数据保存在这个文件夹里

    

     3.tmp文件: 一般存放临时内容

     之前在沙盒里还有一个 .app文件, 在新的版本里已经被移走了


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值