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

错误

[[NSUserDefaults standardUserDefaults]setObject:responseObject[@"data"] forKey:kUserDefault_AdInfoDic];
[[NSUserDefaults standardUserDefaults]synchronize];

* -[NSUserDefaults setObject:forKey:]: attempt to insert non-property list object < CFBasicHash 0x15fa29a0 [0x3b1c1ae0] >{type = immutable dict, count = 3,entries = >
0 : < CFString 0x15fa20f0 [0x3b1c1ae0] >{contents = “adId”} = < CFNull 0x3b1c1a70 [0x3b1c1ae0] >
1 : < CFString 0x15d21700 [0x3b1c1ae0] >{contents = “adUrls”} = < CFArray 0x15fd3fb0 [0x3b1c1ae0] >{type = immutable, count = 1, values = (
0 : < CFString 0x15f56190 [0x3b1c1ae0]>{contents = “http://image.lz517.com/image/app/startPageAd/ios/“}
)}
2 : < CFString 0x15d4e9f0 [0x3b1c1ae0] >{contents = “isLastAd”} = < CFBoolean 0x3b1c1e90 [0x3b1c1ae0] >{value = true}
}
for key splashAdInfo
(null)
(
0 CoreFoundation 0x3023af9b + 154
1 libobjc.A.dylib 0x3a9ebccf objc_exception_throw + 38
2 CoreFoundation 0x3023aec5 + 0
3 Foundation 0x30b715a1 + 120
4 LeZhanCloud 0x000b19e3 __31-[AppDelegate getSplashADdInfo]_block_invoke + 716
5 LeZhanCloud 0x003069e7 __64+[LZHTTPClient post:parameters:HTTPCachePolicy:success:failure:]_block_invoke + 222
6 LeZhanCloud 0x00411a09 __64-[AFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]_block_invoke.49 + 36
7 libdispatch.dylib 0x3aed3833 + 10
8 libdispatch.dylib 0x3aed381f + 22
9 libdispatch.dylib 0x3aed3777 + 254
10 CoreFoundation 0x302058a1 + 8
11 CoreFoundation 0x30204175 + 1300
12 CoreFoundation 0x3016eebf CFRunLoopRunSpecific + 522
13 CoreFoundation 0x3016eca3 CFRunLoopRunInMode + 106
14 GraphicsServices 0x35074663 GSEventRunModal + 138
15 UIKit 0x32abb14d UIApplicationMain + 1136
16 LeZhanCloud 0x0017b235 main + 106
17 libdyld.dylib 0x3aef8ab7 + 2
)
dSYM UUID: B08B6AD4-6DEB-3379-ADE7-04004DD80240
CPU Type: armv7
Slide Address: 0x00004000
Binary Image: LeZhanCloud
Base Address: 0x0006b000

原因

首先, 认为这种错误的原因是插入了不识别的数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型。
但是后来发现, 这方面并没有问题.

解决方案

这里写图片描述

但是发现自己存储的是 NSDictionary, 没有问题. 但是我发现在NSDictionary 中数据结构有”< null >”,而NSUserDefaults是不能被成功解析并存入的,所有在存入之前需要将里边的”< null >”改成”“即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值