一些 PFObject 包含 PFFile(图像文件),而另一些则没有。当我尝试使用 NSKeyedArchiver 和 NSKeyedUnarchiver 将自定义对象存储到用户默认值时,它将不起作用。
帮助我如何将 PFObjects 数组存储到包含 PFFile 类型字段的 UserDefault 中。
一些 PFObject 包含 PFFile(图像文件),而另一些则没有。当我尝试使用 NSKeyedArchiver 和 NSKeyedUnarchiver 将自定义对象存储到用户默认值时,它将不起作用。
帮助我如何将 PFObjects 数组存储到包含 PFFile 类型字段的 UserDefault 中。
默认对象必须是一个属性列表,即以下实例(或集合实例的组合):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 对象。它没有更新,但您可以检查一下。