1、参考文章
http://www.wahenzan.com/a/mdev/ios/2015/0106/1446.html
2.出现问题的原因
NSUserDefaults只能保存诸如NSArray、NSDictionary、NSData、NSNumber等基本数据类型,如果我们强制保存自定义的类或者出现一个Framework不能识别的类,就会出现这个错误:Attempt to set a non-property-list object as an NSUserDefaults value ,解释起来:【试图将一个非属性列表对象设置为 NSUserDefaults】。
3、我遇到的问题
我的问题是后台给我返回的数据出现一个空字段值系统不能识别认为是我自己定义的(sex = "<null>")。
dic = {
headThumbPic = "uploads/test/2016/0311/f024004145767840456767.jpg";
id = 5152;
nickName = 8315;
sex = "<null>";
stype = 1;
};
4、解决办法
For save
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:yourObject];
[currentDefaults setObject:data forKey:@"yourKeyName"];
For Get
NSData *data = [currentDefaults objectForKey:@"yourKeyName"];
yourObjectType * token = [NSKeyedUnarchiver unarchiveObjectWithData:data];
For Remove
[currentDefaults removeObjectForKey:@"yourKeyName”];
Attempt to set a non-property-list object