【发布时间】:2020-07-18 10:39:07
【问题描述】:
我正在尝试使我的 struct Card 符合 Hashable 协议(用于字典),但由于某种原因,Xcode 没有对我大喊大叫,并出现红色错误,例如“Type 'Card' 不符合协议 'Hashable'。我不明白为什么。我想让 Xcode 添加协议存根。
import Foundation
struct Card : Hashable {
var isFaceUp = false
var isMatched = false
var identifier : Int
private static var identifierFactory = 0
private static func getUniqueIdentifier() -> Int {
Card.identifierFactory += 1
return Card.identifierFactory
}
init() {
identifier = Card.getUniqueIdentifier()
}
}
【问题讨论】:
-
你从哪里得到这个错误?分享相关代码。您结构中的所有属性也符合
Hashable,您共享的代码不会引发错误, -
@omerfarukozturk 我只是想实现 Hashable 协议,将我的卡放在字典中,如 [Card : String]
-
您可以将
Card定义为字典的键,如您所写的[Card: String]。它应该无需任何修改即可工作。你从哪里得到错误:Type 'Card' does not conform to protocol 'Hashable?