0
SKProductを領域に保存しようとしていますが、SKProductをNSDataに変換しようとしていますが、このエラーが発生します。キャッチされない例外 'NSInvalidArgumentException' ' - [SKProduct encodeWithCoder:]:認識されていないセレクタがインスタンス0x14f5cd200に送られた' *SwiftでのSKProductのNSCodingエラー
私のクラス
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)
}
}
私は別のクラスに
それをアーカイブしてみてください私はそれをさまざまな方法で行いましたが、結果は同じです。どうすれば修正できますか?
SKProductをシリアライズすると、プライベートAPIを使用する可能性があります。 – sargeras
[SKProductオブジェクトをローカルに保存する方法は?](http://stackoverflow.com/questions/14178790/how-to-save-skproduct-object-locally)の重複の可能性があります。 – sargeras
@sargerasいいえ、そうではありません。私はこの質問と答えを読んだが、私はすぐにSKProductの拡張でそれを作ることができない – Alexander