某些PFObject包含PFFile(图像文件),有些则不包含。当我尝试使用NSKeyedArchiver和NSKeyedUnarchiver将自定义对象存储到用户默认值时,它将无法工作。
帮助我如何将PFObjects数组存储到包含PFFile类型字段的UserDefault中。
答案 0 :(得分:0)
来自NSUserDefaults documentation:
默认对象必须是属性列表,即(或集合的实例组合)的实例:NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。如果要存储任何其他类型的对象,通常应将其存档以创建NSData实例。
因此,您可以按getDataInBackgroundWithBlock获取文件的数据并将其保存到NSUserDefaults:
[file getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"file"];
[[NSUserDefaults standardUserDefaults] synchronize];
}];
还有一个名为Parse-NSCoding的库,它将NSCoding扩展添加到Parse对象。它没有更新,但您可以查看它。