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里也是不能成功的。
网友评论