iOS - EncodeWithCoder - 编码无

 mobiledu2502870743 发布于 2023-01-14 15:52
  • php
  • 我有一个对象,其属性可能为零.我应该如何在encodeWithCoder(和decodeWithCoder)中实现它?

    - (void)encodeWithCoder:(NSCoder *)aCoder
    { 
        [aCoder encodeObject:_duration forKey:kDuration]; //_duration could be nil
    }
    

    Johannes Fah.. 13

    Aaron的解决方案很干净,清楚地传达了正在发生的事情.但是,我找不到任何信息,是否可以传递nilencodeObject:forKey:我,所以我测试了它.事实证明你可以安全地这样做(如果我遗漏了某些东西,请纠正我).

    所以你可以简单地说

    - (void)encodeWithCoder:(NSCoder *)aCoder
    { 
        [aCoder encodeObject:_duration forKey:kDuration]; //_duration could be nil
    }
    

    即使_duration为零,这也行.在这种情况下,它根本不会将密钥写入编码器.

    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有