当optionalSquare为nil时,sideLength属性调用会被忽略。
5.枚举和结构
5.1枚举
使用enum创建枚举——注意Swift的枚举可以关联方法:
enum Rank: Int {
case Ace = 1
case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queen, King
func simpleDescription() -> String {
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .Queen:
return "queen"
case .King:
return "king"
}
}
}
let ace = Rank.Ace
let aceRawValue = ace.toRaw()
使用toRaw和fromRaw在原始(raw)数值和枚举值之间进行转换:
复制代码if let convertedRank = Rank.fromRaw(3) {
let threeDescription = convertedRank.simpleDescription()
}
注意枚举中的成员值(member value)是实际的值(actual value),和原始值(raw value)没有必然关联。
一些情况下枚举不存在有意义的原始值,这时可以直接忽略原始值:








