iOS NSUserDefaults数据保存报错:Attempt to set a non-property-list object...

本文主要是介绍iOS NSUserDefaults数据保存报错:Attempt to set a non-property-list object...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄

在使用NSUserDefaults的时候插入数据有时候会报以下错误:

 

Attempt to set a non-property-list object <CFBasicHash 0x7f9c1a5cce80 [0x11192c7b0]>{type = immutable dict, count = 27,

entries =>

3 : ext_attr = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

4 : zhicheng = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

5 : code = <CFString 0x7f9c1a54e900 [0x11192c7b0]>{contents = "YS1000000000011"}

6 : zhuzhi = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

10 : sex = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

14 : cat_id = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

15 : pass = 123123

16 : keshi = <CFNull 0x11192caf0 [0x11192c7b0]>

18 : name = <CFString 0x7f9c1a566740 [0x11192c7b0]>{contents = "新医生"}

19 : sp = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

20 : moreinfo = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

21 : state = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

22 : <CFString 0x7f9c1a564dc0 [0x11192c7b0]>{contents = "comment_num"} = 0

23 : id = 11

25 : p_attr = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

26 : pcolumn = 1

27 : pic = <CFString 0x7f9c1a56d330 [0x11192c7b0]>{contents = "http://58.61.37.228:3080/td_yisheng/static/img/photo.gif"}

28 : <CFString 0x7f9c1a5165f0 [0x11192c7b0]>{contents = "zhizhaopic"} = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

29 : mobile = <CFString 0x7f9c1c8f8ee0 [0x11192c7b0]>{contents = "18682355562"}

30 : showtpl = 1

31 : email = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

32 : area = <CFString 0x7f9c1c8f3ba0 [0x11192c7b0]>{contents = "区域"}

33 : uptime = <CFArray 0x7f9c1a5ceff0 [0x11192c7b0]>{type = immutable, count = 1, values = (

0 : <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

)}

36 : price = <CFBasicHash 0x7f9c1c8e3080 [0x11192c7b0]>{type = immutable dict, count = 5,

entries =>

2 : baoyue = 1

3 : dianhua = 1

4 : huizhen = 1

5 : yuyue = 1

6 : zixun = 1

}

38 : <CFString 0x7f9c1c8e2c60 [0x11192c7b0]>{contents = "comment_rank"} = 5

39 : regtime = <CFString 0x7f9c1c8fb2b0 [0x11192c7b0]>{contents = "1442394762"}

40 : patchcode = <CFString 0x110446380 [0x11192c7b0]>{contents = ""}

}

 as an NSUserDefaults/CFPreferences value for key UserModelDic

这种错误的原因是插入了不识别的数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型。

自定义的类型需要转成NSData再存入。

===============================================

我原来认为NSUserDefaults存不了数组,又换成了字典,但是还是报错,最后求助网友大神解决了,是我里边的数据结构有"<null>",而NSUserDefaults是不能被成功解析并存入的,所有在存入之前需要将里边的"<null>"改成""即可。

谢谢!!!

这篇关于iOS NSUserDefaults数据保存报错:Attempt to set a non-property-list object...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/451937

相关文章

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.