码迷,mamicode.com
首页 > 编程语言 > 详细

Swift Syntax 01 - 枚举类型

时间:2016-02-01 01:52:32      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

阅读资料来源:官方Swift2.0教程中文版

 

今天学习了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.AceletaceRawValue = ace.rawValue

练习:

写一个函数,通过原始值来比较两个 Rank 实例。

在上面的例子中,枚举原始值的类型是 Int,所以你只需设置第一个 case 的原始值。剩下的原始值会按照顺序赋值。你也可以使用字符串或者浮点数作为枚举的原始值。使用 rawValue 属性来访问一个枚举成员的原始值。

 

使用 init?(rawValue:) 构造方法在原始值和枚举之间进行转换。

if let convertedRank = Rank(rawValue:3) {
   let threeDescription = convertedRank.simpleDescription()
}

如果没用到原始值,可以不设置。

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
let heartsDescription = hearts.simpleDescription()

注意,有两种方式引用 Hearts 成员:给 hearts 常量赋值时,因为它没有显式指定类型,所以 Suit.Hearts 用全名来表示。在 switch 里,因为已知 self 的类型,所以枚举成员可以使用缩写如 .Hearts 来引用。

Swift Syntax 01 - 枚举类型

标签:

原文地址:http://www.cnblogs.com/cuiwy/p/5174159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!