【发布时间】:2014-06-15 04:09:36
【问题描述】:
我在下面的代码行中不断收到错误:
let rank1desc = rank1Conv.simpleDescription();
let rank2desc = rank2Conv.simpleDescription();
声称“排名?”没有名为“simpleDescription”的成员。我发现这很奇怪,因为我根据 Apple 的教程编写了这段代码,并且没有在任何地方实现和可选项作为 Rank?表明我有。我很想知道为什么它给了我这个错误,以及如果确实存在可选的选项来自哪里。非常感谢!
这是我的代码:
enum Rank: Int{
case Ace = 1;
case Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8, Nine = 9, Ten = 10;
case Jack = 11, Queen = 12, King = 13;
func simpleDescription() -> String{
switch self{
case .Ace:
return "Ace";
case .Jack:
return "Jack";
case .Queen:
return "Queen";
case .King:
return "King";
default:
return String(self.toRaw())
}
}
}
let ace = Rank.Ace;
let aceRawValue = ace.toRaw();
func compRank(rank1: Int, rank2: Int) -> String{
let rank1Conv = Rank.fromRaw(rank1);
let rank2Conv = Rank.fromRaw(rank2)
let rank1desc = rank1Conv.simpleDescription();
let rank2desc = rank2Conv.simpleDescription();
if(rank1 > rank2){
return rank1desc;
}
else if(rank2>rank1){
return rank2desc;
}
else{
return "They are equal";
}
}
compRank(rank1: 3, rank2: 2);
【问题讨论】:
标签: enums switch-statement swift optional