iOS---NSUserDefaults插入报错attempt to insert non-property list object

转载 2015年11月19日 18:28:37

转载自:http://www.tuicool.com/articles/AjIFJbN


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

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSUserDefaults setObject:forKey:]: attempt to insert non-property list object {
  array =	 (
        {
      481 =			 {
        msg =				 {
          1413462307 = "[3197]\U4e8c\U5341\U516b\U56de\U590d\U4e86\U4f60\Uff1a\U4f60\U6211";
        };
        "new_msg" = 1;
        "usr_id" = 2;
        "usr_name" = "<null>";
        "usr_tx" = "<null>";
      };
    }
  );
} for key newMsgArrayDict'
这种错误的原因是插入了不识别的数据类型,NSUserDefaults支持的数据类型有 NSString、 NSNumber、NSDate、 NSArray、NSDictionary 、BOOL、NSInteger、NSFloat等系统定义的数据类型。

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

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

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

Attempt to insert non-property list object - 芒果iOS

【主要内容:】 1. 错误起因 2. 错误提示 3. 分析错误原因 4. 解决问题办法 一、 错误起因 昨天做一个功能,需要把一个封装好的对象存起来。由于数据可能经常变动...
  • CrazyZhang1990
  • CrazyZhang1990
  • 2017年01月12日 10:15
  • 852

NSUserDefaults插入报错attempt to insert non-property list object

在使用NSUserDefaults的时候插入数据有时候会报以下错误: *** Terminating app due to uncaught exception 'NSInvalidArgume...
  • miaocuilin
  • miaocuilin
  • 2014年10月17日 11:48
  • 3513

关于模型数组进行本地保存中遇到的一些问题

今天我在项目中遇到一个难题 本地数据要进行保存,此时我的数据源是一个数组,但是我的数组内部的元素为模型,我在进行数据源保存的时候出现了错误:报错如下: Terminating app due ...
  • LIUitcast
  • LIUitcast
  • 2016年07月09日 01:03
  • 1593

错误:*** -[NSUserDefaults setObject:forKey:]: attempt to insert non-property list object

*** -[NSUserDefaults setObject:forKey:]: attempt to insert non-property list object
  • wangyanchang21
  • wangyanchang21
  • 2016年04月15日 18:05
  • 2154

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

在使用NSUserDefaults的时候插入数据有时候会报以下错误: Attempt to set a non-property-list object {type = immutable ...
  • jijiji000111
  • jijiji000111
  • 2015年09月29日 16:20
  • 16557

-[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<Player: 0x3b0cc90>' of c

That is the error message I get when I put my custom class, "Player", in the NSUserDefaults. Now, I'...
  • s_s520
  • s_s520
  • 2013年09月25日 23:03
  • 5543

iOS NSUserDefaults使用报错问题

1.NSUserDefaults插入报错attempt to insert non-property list object在使用NSUserDefaults的时候插入数据有时候会报以下错误:*** ...
  • wanglei0918
  • wanglei0918
  • 2016年11月16日 15:09
  • 544

iOS高效编码之一----使用文字语法

在iOS开发过程中,NSString, NSArray, NSDictionary,NSNumber这几个类用的实在是非常多,以前的时候,都是用系统自带的方法使用这些类,后来发现有人习惯使用文字语法,...
  • SiamPig
  • SiamPig
  • 2014年03月20日 23:25
  • 6387

IOS崩溃Crash分析(MTA腾讯云分析,友盟)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • fengyun1989
  • fengyun1989
  • 2016年06月23日 16:16
  • 4518

iOS中常用的持久化存储方式有好几种

前言 iOS中常用的持久化存储方式有好几种: 偏好设置(NSUserDefaults) plist文件存储 归档 SQLite3 Core Data 这里不细讲数据库,只针对性地讲讲文件存储、...
  • lishichao706
  • lishichao706
  • 2016年03月21日 12:02
  • 589
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS---NSUserDefaults插入报错attempt to insert non-property list object
举报原因:
原因补充:

(最多只允许输入30个字)