我试图保存一个SKProduct对象,并将其与NSKeyedArchiver类一起存档,但它会生成错误 - [SKProduct encodeWithCoder:]:无法识别的选择器发送到实例。
+ (void)saveProduct:(SKProduct *)product
{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:product];
[[NSUserDefaults standardUserDefaults] setValue:data forKey:PRODUCT];
[[NSUserDefaults standardUserDefaults] synchronize];
}
有没有办法保存SKProduct的实例?
答案 0 :(得分:3)
您的SKProduct类需要符合NSCoding协议。
换句话说,您需要在SKProduct类中填写这两个方法。
这将获取您的SKProduct类并将其分解,以便可以序列化和反序列化。