美文网首页
当UIImage 遇上NSKeyedArchiver 时候哪些坎

当UIImage 遇上NSKeyedArchiver 时候哪些坎

作者: object_boy | 来源:发表于2017-02-20 14:14 被阅读0次

    最近在写一个IOS 缓存功能时候,当写到diskCache时候,本人参考了YYDiskCache,使用了NSKeyedArchiver 归档对象到文件中,我们知道IOS 大部分系统类型都遵循了NSCoding,我在这书写diskCache 遇到一个问题就是,UIImage 对象进行归档到文件中,归档成功了,数据写到了文件中,但是用NSKeyedUnarchiver 解档的时候解档不出来,这个问题出现在哪呢?

    这个问题出现必要条件:

    1.图片放在了项目目录下(注意不是Assets.xcassets 目录下)

    问题出现原因在:UIImage 这个类中@property(nullable,nonatomic,readonly)UIImageAsset*imageAssetNS_AVAILABLE_IOS(8_0);// The asset is not encoded along with the image. Returns nil if the image is not CGImage based. 这个属性。

    怎么解决呢?

    我的解决方案:

    [UIImageimageWithCGImage:tempImage.CGImage]; 转换一下再用NSKeyedArchiver 进行归档就可以正常归档了

    相关文章

      网友评论

          本文标题:当UIImage 遇上NSKeyedArchiver 时候哪些坎

          本文链接:https://www.haomeiwen.com/subject/mqqewttx.html