使用 Swift 5.3,如何Identifiable
通过使结构的标识依赖于两个枚举变量的组合来在结构上实现协议?
有问题的代码很简单,
struct Card: Identifiable {
let suit: Suit
let rank: Rank
enum Suit {
case spades, clubs, diamonds, hearts
}
enum Rank: Int {
case one = 1, two, three, four, five, six, seven, jack, queen, king
}
}
上面的结构还不符合Identifiable
协议。我怎样才能将它的身份实现为它的唯一组合suit
和rank
(只创建一次)?本质上,它的身份可能是“黑桃 1”或“钻石杰克”。此外,如果可能的话,我想保留rank
作为一种Int
类型,以便以后进行算术运算。先感谢您!