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

swift 遍历枚举

时间:2016-04-25 06:39:21      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:

?

// see at?http://swifter.tips/enum-enumerate/


// 貌似有些空格在粘贴的时候没有了... ? ?= =!


import Foundation

?

enum Suit: String {

? ? case Spades = "黑桃"

? ? case Hearts = "红桃"

? ? case Clubs = "草花"

? ? case Diamonds = "方片"

}

?

enum Rank: Int, CustomStringConvertible{

? ? case Ace = 1

? ? case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten

? ? case Jack, Queen, King

? ? var description: String {

? ? ? ? switchself {

? ? ? ? case .Ace:

? ? ? ? ? ? return"A"

? ? ? ? case .Jack:

? ? ? ? ? ? return"J"

? ? ? ? case .Queen:

? ? ? ? ? ? return"Q"

? ? ? ? case .King:

? ? ? ? ? ? return"K"

? ? ? ? default:

? ? ? ? ? ? returnString(self.rawValue)

? ? ? ? }

? ? }

}

?

protocol EnumeratableEnumType {

? ? staticvar allValues: [Self] {get}

}

?

extension?Suit: EnumeratableEnumType {

? ? static?var allValues: [Suit] {

? ? ? ? return [.Spades, .Hearts, .Clubs, .Diamonds]

? ? }

}

?

extensionRank: EnumeratableEnumType {

? ? static?var allValues: [Rank] {

? ? ? ? return [.Ace, .Two, .Three,

? ? ? ? ? ? ? ? .Four, .Five, .Six,

? ? ? ? ? ? ? ? .Seven, .Eight, .Nine,

? ? ? ? ? ? ? ? .Ten, .Jack, .Queen, .King]

? ? }

}

?

for suit in?Suit.allValues {

? ? for rank in?Rank.allValues {

? ? ? ? print("\(suit.rawValue)\(rank)")

? ? }

}


swift 遍历枚举

标签:

原文地址:http://www.cnblogs.com/xilifeng/p/5429108.html

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