0

一些 PFObject 包含 PFFile(图像文件),而另一些则没有。当我尝试使用 NSKeyedArchiver 和 NSKeyedUnarchiver 将自定义对象存储到用户默认值时,它将不起作用。

帮助我如何将 PFObjects 数组存储到包含 PFFile 类型字段的 UserDefault 中。

4

1 回答 1

0

来自NSUserDefaults 文档

默认对象必须是一个属性列表,即以下实例(或集合实例的组合):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 对象。它没有更新,但您可以检查一下。

于 2015-02-13T10:00:53.477 回答