Swift: Hashable.hashValue устарел как требование протокола

У меня проблема в моем проекте Swift:

Hashable.hashValue устарел как требование протокола; согласовать тип ActiveType с Hashable, реализовав вместо этого hash (into :)

struct Payment: Hashable {
    let product: SKProduct
    let quantity: Int
    let atomically: Bool
    let applicationUsername: String
    let simulatesAskToBuyInSandbox: Bool
    let callback: (TransactionResult) -> Void

    var hashValue: Int {
        return product.productIdentifier.hashValue
    }

    static func == (lhs: Payment, rhs: Payment) -> Bool {
        return lhs.product.productIdentifier == rhs.product.productIdentifier
    }
}

Я попытался реализовать этот подход, но не сделал этого. У меня нет успеха.

Скриншот кода Swift


person Alina    schedule 16.01.2020    source источник
comment
Удалите свое callback свойство и добавьте success свойство var success: Bool. Кстати hashValue устарело func hash(into hasher: inout Hasher) { hasher.combine(product.productIdentifier)   -  person Leo Dabus    schedule 16.01.2020
comment
Спасибо! Это func hash(into hasher: inout Hasher) { hasher.combine(product.productIdentifier) } устранило проблему.   -  person Alina    schedule 17.01.2020