swift 枚举
2016-01-13 10:50
501 查看
swift 枚举使用enum 关键字创建 。和类以及其他所有命名类一样,在枚举中可以包含方法:
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"
default:
return
String(self.rawValue)
}
}
let ace =
Rank.Ace
let aceRawValue =
Rank.Ten.rawValue
//原始值为 10
print("ace
\(ace)
\(aceRawValue) ")
if let convertedRank =
Rank(rawValue:11){
//通过Rank(rawValue:)获取枚举值
let description = convertedRank.simpleDescription()
print("\(description)")// jack
}
在上面的演示代码中,因为枚举原始值是Int类型,所以只需要设置第一个原始值即可,剩下的原始值会按照顺序赋值。另外,也可以使用字符串或者浮点数作为枚举的原始值。通过rawValue 可以实现枚举值和原始值的转换。
在swift语言中,枚举的成员值是实际值,并不是原始值的另一种表达方法。实际上,如果原始值没有意义,则不需要进行任何设置
enum Suit{
case Spades,Hearts,Diamonds,Clubs
func simpleDescription()->String{
switch
self{
case.Spades:
return
"spades"
case.Hearts:
return
"hearts"
case.Diamonds:
return
"diamonds"
case.Clubs:
return
"clubs"
}
}
}
let hearts =
Suit.Hearts
print("\(hearts)")//Hearts
let heartDescription = hearts.simpleDescription()
print("\(heartDescription)")//hearts
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"
default:
return
String(self.rawValue)
}
}
let ace =
Rank.Ace
let aceRawValue =
Rank.Ten.rawValue
//原始值为 10
print("ace
\(ace)
\(aceRawValue) ")
if let convertedRank =
Rank(rawValue:11){
//通过Rank(rawValue:)获取枚举值
let description = convertedRank.simpleDescription()
print("\(description)")// jack
}
在上面的演示代码中,因为枚举原始值是Int类型,所以只需要设置第一个原始值即可,剩下的原始值会按照顺序赋值。另外,也可以使用字符串或者浮点数作为枚举的原始值。通过rawValue 可以实现枚举值和原始值的转换。
在swift语言中,枚举的成员值是实际值,并不是原始值的另一种表达方法。实际上,如果原始值没有意义,则不需要进行任何设置
enum Suit{
case Spades,Hearts,Diamonds,Clubs
func simpleDescription()->String{
switch
self{
case.Spades:
return
"spades"
case.Hearts:
return
"hearts"
case.Diamonds:
return
"diamonds"
case.Clubs:
return
"clubs"
}
}
}
let hearts =
Suit.Hearts
print("\(hearts)")//Hearts
let heartDescription = hearts.simpleDescription()
print("\(heartDescription)")//hearts
相关文章推荐
- Swift中文教程(一)基础数据类型
- 在项目里交叉使用Swift和OC【转】
- Swift工程使用OC类
- Swift-实现Touch ID验证
- Swift学习之转义字符
- Swift开发IOS-UIWebView
- Swift开发IOS-UIPageControl
- iOS-Swift版本自定义CStextView的实现
- 为什么要用GCD-Swift2.x
- 为什么要用GCD-Swift2.x
- Swift ARC机制以及弱引用的使用
- Swift笔记(一)
- Swift开发IOS-UIScrollView
- OC工程调用Swift方法
- Swift开发IOS-UIImageView
- swift 常量、变量
- Swift练习
- swift bug修改
- 初探swift语言的学习笔记九(OC与Swift混编)
- Swift 之 函数与闭包的应用实例