• 将自定义的类的对像保存在本地


    -[XXXXXXX(你定义的类) encodeWithCoder:]: unrecognized selector sent to instance 0x8ec89e0'


    这个问题字面意思,就是你定义的的类的encodeWithCoder:方法找不到

    既然是出现了这个问题,那么你现在肯定是在做归档操作了嘛, 你想把XXXXXXX类归档到沙盒里面去了,嘛?

    但是oc只支持NSString,NSDictionary,NSArray,NSData或者NSNumber 这几个类的对象归档.

    不自定义的类的对象,要想把自己定义的类的对象归档到文件中, 

    你自定义的类就必须:

    1.遵守<NSCoding>协议

    2.实现: a"- (void)encodeWithCoder:(NSCoder *)enCoder"

    b"- (id)initWithCoder:(NSCoder *)decoder"

     两个方法

    你想把你这个类的哪些成员变量保存就在a方法中调用enCoder对象的encodeObject: forKey:方法 

    b方法是你从文件里面取出的时候规定的你可以取出哪些数据,你在a方法中保存了哪些成员变量你就要在b方法里 调用decoder对象的

    initWithCoder:(NSCoder *)decoder方法

    例子我自定义的类是IWAccount是我想将我这个类以后生成的对象保存到文件.h 和.m文件如下图

     
     
  • 相关阅读:
    React准备
    React组件
    从uri获取图片文件的File对象
    ES6
    Promise.all
    js的ctrl+s保存功能
    浏览器端读取和生成zip文件
    vscode配置及快捷键
    Array
    最全React技术栈技术资料汇总
  • 原文地址:https://www.cnblogs.com/Hakim/p/5692531.html
Copyright © 2020-2023  润新知