我正在尝试将 SKProduct 保存在 Realm 中,但在乞求时,我正在尝试将 SKProduct 转换为 NSData,但由于未捕获的异常“NSInvalidArgumentException”而出现此错误正在终止应用程序,原因:'-[SKProduct encodeWithCoder:]:无法识别的选择器发送到实例 0x14f5cd200' *
我的课
import Foundation
import StoreKit
class ProductDataModel: NSObject, NSCoding {
var product = SKProduct()
// MARK: - var and let
private let coderKey = "ProductDataModel"
override init() {
super.init()
}
convenience init(product: SKProduct) {
self.init()
self.product = product
}
required init?(coder aDecoder: NSCoder) {
self.product = aDecoder.decodeObjectForKey(coderKey) as! SKProduct
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(self.product, forKey: coderKey)
}
}
我尝试将其存档在另一个班级
let productData = ProductDataModel(product: product)
let data = NSKeyedArchiver.archivedDataWithRootObject(productData)
我以不同的方式做到了,但结果是一样的。我该如何解决?