我试图在领域中保存SKProduct,但在乞求时,我试图将SKProduct转换为NSData,但由于未命名的异常'NSInvalidArgumentException',原因是:'-SKProduct::发送到实例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)我用不同的方式做了这件事,但结果是一样的。我怎么才能修好它?
发布于 2016-05-18 09:55:34
我们解决了这个问题,我们将SKProduct数组粘贴到单例并使用它。我知道这是个糟糕的解决方案,但我不知道另一个。
https://stackoverflow.com/questions/37253829
复制相似问题