Attempt to insert non-property list object

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

2.如果是自定义的对象,需要转换成nsdata存储进去才可以

(转换:)

//不能直接存取oc对象,需要先归档转成NSData

NSData * data  = [NSKeyedArchiver archivedDataWithRootObject:token];

[defaults setObject:data forKey:@"token"];

[defaults synchronize];

备注:如果把一个自定义的类存到一个NSArray里,然后再存到NSUserDefaults里也是不能成功的。

你可能感兴趣的:(Attempt to insert non-property list object)