年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2980|回复: 0

Attempt to set a non-property-list object as an NSUserDefaults value for key

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2014-9-1 16:04:24 | 显示全部楼层 |阅读模式
    2014-09-01 15:55:54.703 RouteMapInformation[26443:60b] Attempt to set a non-property-list object (
        "\U4e00\U952e\U627e\U8f66\Uff0c\U65b9\U4fbf\U5feb\U6377\Uff0c\U7701\U65f6\U7701\U529b",
        "<RMGuideView: 0x9b58d90; baseClass = UILabel; frame = (0 0; 320 480); text = '\U4e00\U952e\U627e\U8f66\Uff0c\U65b9\U4fbf\U5feb\U6377\Uff0c\U7701\U65f6\U7701\U529b'; gestureRecognizers = <NSArray: 0x9b662f0>; animations = { opacity=<CABasicAnimation: 0x9b46e20>; }; layer = <CALayer: 0x9b419e0>>"
    ) as an NSUserDefaults value for key RMGuideView

    出现这种情况的根本原因是什么,其实最后一行有关键字“NSUserDefaults”,NSUserDefaults 不能用来存储图像对象 ,这是因为正如异常说, UIImage 不是一个属性列表对象。属性列表是这些,和仅是这些类 (或任何子类) 的对象的组合:
    NSArray
    NSDictionary
    NSString
    NSData
    NSDate
    NSNumber能够保存在NSUserDefaults中的对象只能是上述几种或组合,并且内部子元素也只能是以上几种,比如创建一个图片UIImage数组Array,再将数组Array保存到NSUserDefaults中,这样是不行的,那么一定要将UIImage图片保存下来该如何做呢?用NSData格式化编码,至于如何编码不属于本次讨论的范畴,去看看NSData的用法就明了,很简单的。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-7 20:31 , Processed in 0.043137 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表