Osheep

时光不回头,当下最重要。

NSUserDefault存储数据时崩溃:Attempt to insert non-property list object...

《NSUserDefault存储数据时崩溃:Attempt to insert non-property list object...》

崩溃详情

这种错误的原因是插入了不识别的数据类型,或数据结构内包含了除NSUserDefault支持的数据类型。NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型。
即使你将model再次封装成字典:

[[NSUserDefaults standardUserDefaults] setValue:@{@"user": user} forKey:@"user"];

这样依然会崩溃。

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

测试代码

点赞